Index: src/main/java/org/apache/jackrabbit/core/data/GarbageCollector.java
===================================================================
--- src/main/java/org/apache/jackrabbit/core/data/GarbageCollector.java	(revision 773606)
+++ src/main/java/org/apache/jackrabbit/core/data/GarbageCollector.java	(working copy)
@@ -84,6 +84,7 @@
     private final IterablePersistenceManager[] pmList;
 
     private final Session[] sessionList;
+    private final SessionListener sessionListener;
 
     private boolean persistenceManagerScan;
 
@@ -96,23 +97,24 @@
      *
      * @param list the persistence managers
      */
-    public GarbageCollector(final SessionImpl session, IterablePersistenceManager[] list, final Session[] sessionList) {
+    public GarbageCollector(SessionImpl session, IterablePersistenceManager[] list, final Session[] sessionList) {
         RepositoryImpl rep = (RepositoryImpl) session.getRepository();
         store = rep.getDataStore();
         this.pmList = list;
         this.persistenceManagerScan = list != null;
         this.sessionList = sessionList;
-        
+
         // log out each session as soon as the main session logs out
-        session.addListener(new SessionListener() {
+        this.sessionListener = new SessionListener() {
             public void loggedOut(SessionImpl session) {
+            }
+            public void loggingOut(SessionImpl session) {
                 for (Session s: sessionList) {
                     s.logout();
                 }
             }
-            public void loggingOut(SessionImpl session) {
-            }
-        });
+        };
+        session.addListener(this.sessionListener);
     }
 
     /**
