Index: src/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java
===================================================================
--- src/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java	(revision 477313)
+++ src/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java	(working copy)
@@ -110,17 +118,28 @@
                 }
 
                 if (mailboxRow != null) {
-                    UidChangeTracker tracker = (UidChangeTracker) getMailboxCache()
+                    UidChangeTracker tracker = (UidChangeTracker) mailboxCache
                             .getMailboxTracker(mailboxName,
                                     UidChangeTracker.class);
                     if (tracker == null) {
-                        tracker = new UidChangeTracker(getMailboxCache(),
+                        tracker = new UidChangeTracker(mailboxCache,
                                 mailboxName, mailboxRow.getLastUid());
                         getMailboxCache().add(mailboxName, tracker);
                     }
                     getLog().info("created ImapMailboxSession "+mailboxName);
-                    return new ImapMailboxSessionWrapper(new TorqueMailbox(
-                            mailboxRow, tracker,getLog()));
+
+                    final TorqueMailbox torqueMailbox = new TorqueMailbox(
+                                                                    mailboxRow, tracker,getLog());
+                    final ImapMailboxSessionWrapper imapMailboxSessionWrapper = new ImapMailboxSessionWrapper(torqueMailbox, false);
+                    return imapMailboxSessionWrapper;
                 } else {
                     getLog().info("Mailbox '" + mailboxName + "' not found.");
                     getMailboxCache().notFound(mailboxName);
Index: src/java/org/apache/james/mailboxmanager/wrapper/SessionMailboxWrapper.java
===================================================================
--- src/java/org/apache/james/mailboxmanager/wrapper/SessionMailboxWrapper.java	(revision 477313)
+++ src/java/org/apache/james/mailboxmanager/wrapper/SessionMailboxWrapper.java	(working copy)
@@ -34,8 +34,8 @@
     public SessionMailboxWrapper() {
     }
     
-    public SessionMailboxWrapper(GeneralMailbox generalMailbox) throws MailboxManagerException {
-        super(generalMailbox);
+    public SessionMailboxWrapper(GeneralMailbox generalMailbox, boolean premptCache) throws MailboxManagerException {
+        super(generalMailbox, premptCache);
     }
 
     public MessageResult appendMessage(MimeMessage message, Date internalDate,
Index: src/java/org/apache/james/mailboxmanager/wrapper/ImapMailboxSessionWrapper.java
===================================================================
--- src/java/org/apache/james/mailboxmanager/wrapper/ImapMailboxSessionWrapper.java	(revision 477313)
+++ src/java/org/apache/james/mailboxmanager/wrapper/ImapMailboxSessionWrapper.java	(working copy)
@@ -17,8 +17,8 @@
 
     protected MailboxEventDispatcher eventDispatcher = new MailboxEventDispatcher();
 
-    public ImapMailboxSessionWrapper(ImapMailbox imapMailbox) throws MailboxManagerException {
-        super(imapMailbox);
+    public ImapMailboxSessionWrapper(ImapMailbox imapMailbox, boolean premptCache) throws MailboxManagerException {
+        super(imapMailbox, premptCache);
     }
 
     public MailboxRights myRights() {
Index: src/java/org/apache/james/mailboxmanager/wrapper/NumberStableSessionWrapper.java
===================================================================
--- src/java/org/apache/james/mailboxmanager/wrapper/NumberStableSessionWrapper.java	(revision 477313)
+++ src/java/org/apache/james/mailboxmanager/wrapper/NumberStableSessionWrapper.java	(working copy)
@@ -50,11 +50,14 @@
 
     private MailboxEventDispatcher eventDispatcher = new MailboxEventDispatcher();
     
+    private final boolean preemptCache;
     
     public NumberStableSessionWrapper() {
+        preemptCache = false;
     }
     
-    public NumberStableSessionWrapper(GeneralMailbox generalMailbox) throws MailboxManagerException {
+    public NumberStableSessionWrapper(GeneralMailbox generalMailbox, final boolean preemptCache) throws MailboxManagerException {
+        this.preemptCache = preemptCache;
         setMailbox(generalMailbox);
         init();
     }
@@ -65,11 +68,15 @@
 
     public void init() throws MailboxManagerException {
         mailbox.addListener(eventDispatcher, MessageResult.UID);
-        getNumberCache();
+        if (preemptCache) {
+            getNumberCache();
+        }
         eventDispatcher.addMailboxListener(this);        
     }
 
     protected UidToMsnBidiMap getNumberCache() throws MailboxManagerException {
 
Index: src/java/org/apache/james/mailboxmanager/wrapper/FlaggedSessionMailboxWrapper.java
===================================================================
--- src/java/org/apache/james/mailboxmanager/wrapper/FlaggedSessionMailboxWrapper.java	(revision 477313)
+++ src/java/org/apache/james/mailboxmanager/wrapper/FlaggedSessionMailboxWrapper.java	(working copy)
@@ -10,8 +10,8 @@
 
 public class FlaggedSessionMailboxWrapper extends SessionMailboxWrapper {
     
-    public FlaggedSessionMailboxWrapper(FlaggedMailbox flaggedMailbox) throws MailboxManagerException {
-        super(flaggedMailbox);
+    public FlaggedSessionMailboxWrapper(FlaggedMailbox flaggedMailbox, boolean premptCache) throws MailboxManagerException {
+        super(flaggedMailbox, premptCache);
     }
     
