diff --git a/sigil/common/core/src/org/apache/felix/sigil/common/repository/AbstractRepositoryManager.java b/sigil/common/core/src/org/apache/felix/sigil/common/repository/AbstractRepositoryManager.java
index f856bf1..3ee7abd 100644
--- a/sigil/common/core/src/org/apache/felix/sigil/common/repository/AbstractRepositoryManager.java
+++ b/sigil/common/core/src/org/apache/felix/sigil/common/repository/AbstractRepositoryManager.java
@@ -119,7 +119,7 @@
         }
     }
 
-    protected void addRepository(IBundleRepository rep, int level)
+    private void addRepository(IBundleRepository rep, int level)
     {
         Type type = null;
 
@@ -156,27 +156,6 @@
         notifyListeners(new RepositoryChangeEvent(rep, type));
     }
 
-    protected void removeRepository(IBundleRepository rep)
-    {
-        Type type = null;
-
-        synchronized (repositories)
-        {
-            if (repositories.remove(rep.getId()) != null)
-            {
-                order.remove(rep);
-                type = Type.REMOVED;
-                clearLevel(rep);
-                resetLevels();
-            }
-        }
-
-        if (type != null)
-        {
-            notifyListeners(new RepositoryChangeEvent(rep, type));
-        }
-    }
-
     private void clearLevel(IBundleRepository rep)
     {
         for (Iterator<Map.Entry<Integer, HashSet<IBundleRepository>>> iter = levelMap.entrySet().iterator(); iter.hasNext();)
