Index: message/src/main/java/org/apache/james/imap/decode/parser/IdleCommandParser.java =================================================================== --- message/src/main/java/org/apache/james/imap/decode/parser/IdleCommandParser.java (revision 1059184) +++ message/src/main/java/org/apache/james/imap/decode/parser/IdleCommandParser.java (working copy) @@ -35,7 +35,7 @@ public class IdleCommandParser extends AbstractImapCommandParser { public IdleCommandParser() { - super(ImapCommand.selectedStateCommand(ImapConstants.IDLE_COMMAND_NAME)); + super(ImapCommand.authenticatedStateCommand(ImapConstants.IDLE_COMMAND_NAME)); } Index: processor/src/main/java/org/apache/james/imap/processor/IdleProcessor.java =================================================================== --- processor/src/main/java/org/apache/james/imap/processor/IdleProcessor.java (revision 1059184) +++ processor/src/main/java/org/apache/james/imap/processor/IdleProcessor.java (working copy) @@ -74,8 +74,10 @@ String line = null; try { - mailboxManager.addListener(session.getSelected().getPath(), + if(session.getSelected() != null) { + mailboxManager.addListener(session.getSelected().getPath(), new IdleMailboxListener(closed, session, responder), mailboxSession); + } line = reader.readContinuation(); } finally {