diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/Jython27ClassLoader.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/Jython27ClassLoader.java
index f9dee1f7f61c62353b481b26da4287795c803a34..6308592a8d6d3d7f1da1cefce7811d573fd64531 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/Jython27ClassLoader.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/Jython27ClassLoader.java
@@ -99,9 +99,25 @@ public class Jython27ClassLoader extends ClassLoader
             resolveClass(clazz);
         }
         cachedClasses.put(name, clazz);
+        definePackage(name);
         return clazz;
     }
     
+    private void definePackage(String className)
+    {
+        String packageName = getPackageName(className);
+        if (getPackage(packageName) == null)
+        {
+            definePackage(packageName, null, null, null, null, null, null, null);
+        }
+    }
+    
+    private String getPackageName(String className)
+    {
+        int offset = className.lastIndexOf('.');
+        return (offset == -1) ? null : className.substring(0, offset);
+    }
+    
     @Override
     public URL getResource(String name)
     {