diff --git a/deploymentadmin/autoconf/src/main/java/org/apache/felix/deployment/rp/autoconf/AutoConfResourceProcessor.java b/deploymentadmin/autoconf/src/main/java/org/apache/felix/deployment/rp/autoconf/AutoConfResourceProcessor.java
index 6905e3c..96dd630 100644
--- a/deploymentadmin/autoconf/src/main/java/org/apache/felix/deployment/rp/autoconf/AutoConfResourceProcessor.java
+++ b/deploymentadmin/autoconf/src/main/java/org/apache/felix/deployment/rp/autoconf/AutoConfResourceProcessor.java
@@ -216,16 +216,6 @@
         		throw new ResourceProcessorException(ResourceProcessorException.CODE_OTHER_ERROR, "Can not drop all resources without a Deployment Session");
         	}
         }
-    	try {
-    		Map loadAll = m_persistencyManager.loadAll();
-    		for (Iterator i = loadAll.keySet().iterator(); i.hasNext();) {
-    			String name = (String) i.next();
-    			dropped(name);
-    		}
-    	}
-    	catch (IOException ioe) {
-    		throw new ResourceProcessorException(ResourceProcessorException.CODE_OTHER_ERROR, "Unable to drop all resources.", ioe);
-    	}
 
     	File basedir = m_bc.getDataFile("");
     	if (basedir != null && basedir.isDirectory()) {
diff --git a/deploymentadmin/autoconf/src/main/java/org/apache/felix/deployment/rp/autoconf/PersistencyManager.java b/deploymentadmin/autoconf/src/main/java/org/apache/felix/deployment/rp/autoconf/PersistencyManager.java
index 11baf4c..d69f917 100644
--- a/deploymentadmin/autoconf/src/main/java/org/apache/felix/deployment/rp/autoconf/PersistencyManager.java
+++ b/deploymentadmin/autoconf/src/main/java/org/apache/felix/deployment/rp/autoconf/PersistencyManager.java
@@ -26,9 +26,7 @@
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
 public class PersistencyManager {
 	
@@ -130,14 +128,4 @@
 		}
 		return resources;
 	}
-	
-	/**
-	 * Loads all stored resources.
-	 * 
-	 * @return A map containing all persisted resources which is typed <String, List<AutoConfResource>>
-	 * @throws IOException If not all resources could be loaded.
-	 */
-	public Map loadAll() throws IOException {
-		return new HashMap();
-	}
 }
