diff -r 9738250e018b src/classes/gnuclasspath/java/security/VMAccessController.java
--- a/src/classes/gnuclasspath/java/security/VMAccessController.java	Mon Nov 29 19:06:08 2010 +0100
+++ b/src/classes/gnuclasspath/java/security/VMAccessController.java	Fri Dec 03 01:56:56 2010 +0000
@@ -71,7 +71,7 @@
     Permissions permissions = new Permissions();
     permissions.add(new AllPermission());
     ProtectionDomain[] domain = new ProtectionDomain[] {
-      new ProtectionDomain(source, permissions)
+      new ProtectionDomain(source, permissions, null, null)
     };
     DEFAULT_CONTEXT = new AccessControlContext(domain);
   }
@@ -188,12 +188,13 @@
       {
         Class clazz = classes[i];
         String method = methods[i];
+        ClassLoader loader = clazz.getClassLoader();
 
         if (DEBUG)
           {
             debug("checking " + clazz + "." + method);
             // subject to getClassLoader RuntimePermission
-            debug("loader = " + clazz.getClassLoader());
+            debug("loader = " + loader);
           }
 
         // If the previous frame was a call to doPrivileged, then this is
@@ -225,7 +226,8 @@
         // Create a static snapshot of this domain, which may change over time
         // if the current policy changes.
         domains.add(new ProtectionDomain(domain.getCodeSource(),
-                                         domain.getPermissions()));
+                                         domain.getPermissions(),
+                                         loader, null));
       }
 
     if (DEBUG)
