Index: /trunk/roundcubemail/program/js/app.js
===================================================================
--- /trunk/roundcubemail/program/js/app.js	(revision 574)
+++ /trunk/roundcubemail/program/js/app.js	(revision 575)
@@ -1245,5 +1245,4 @@
       {
       page = 1;
-      add_url += '&_refresh=1';
       this.env.current_page = page;
       if (this.message_list)
@@ -1251,4 +1250,7 @@
       this.show_contentframe(false);
       }
+    
+    if (mbox != this.env.mailbox || (mbox == this.env.mailbox && !page && !sort))
+      add_url += '&_refresh=1';
     
     this.select_folder(mbox, this.env.mailbox);
Index: /trunk/roundcubemail/program/steps/mail/func.inc
===================================================================
--- /trunk/roundcubemail/program/steps/mail/func.inc	(revision 574)
+++ /trunk/roundcubemail/program/steps/mail/func.inc	(revision 575)
@@ -1208,14 +1208,16 @@
 
   // add comments arround html and other tags
-  $out = preg_replace(array('/(<\/?html[^>]*>)/i',
-                            '/(<\/?head[^>]*>)/i',
-                            '/(<title[^>]*>.*<\/title>)/Ui',
-                            '/(<\/?meta[^>]*>)/i'),
-                      '<!--\\1-->',
-                      $body);
-
-  $out = preg_replace(array('/(<body[^>]*>)/i',
-                            '/(<\/body>)/i'),
-                      array('<div class="rcmBody">',
+  $out = preg_replace(array(
+      '/(<!DOCTYPE.+)/i',
+      '/(<\/?html[^>]*>)/i',
+      '/(<\/?head[^>]*>)/i',
+      '/(<title[^>]*>.*<\/title>)/Ui',
+      '/(<\/?meta[^>]*>)/i'),
+    '<!--\\1-->',
+    $body);
+
+  $out = preg_replace(array('/<body([^>]*)>/i',
+                            '/<\/body>/i'),
+                      array('<div class="rcmBody"\\1>',
                             '</div>'),
                       $out);
Index: /trunk/roundcubemail/program/steps/mail/list.inc
===================================================================
--- /trunk/roundcubemail/program/steps/mail/list.inc	(revision 574)
+++ /trunk/roundcubemail/program/steps/mail/list.inc	(revision 575)
@@ -38,10 +38,11 @@
 }
 
+$mbox_name = $IMAP->get_mailbox_name();
 
 // fetch message headers
-if ($count = $IMAP->messagecount())
+if ($count = $IMAP->messagecount($mbox_name, 'ALL', !empty($_REQUEST['_refresh'])))
   $a_headers = $IMAP->list_headers($mbox_name, NULL, $sort_col, $sort_order);
 
-$unseen = $IMAP->messagecount($mbox_name, 'UNSEEN', !empty($_REQUEST['_refresh']) ? TRUE : FALSE);
+$unseen = $IMAP->messagecount($mbox_name, 'UNSEEN', !empty($_REQUEST['_refresh']));
 
 // update message count display
@@ -52,5 +53,5 @@
 
 // update mailboxlist
-$OUTPUT->command('set_unread_count', $IMAP->get_mailbox_name(), $unseen);
+$OUTPUT->command('set_unread_count', $mbox_name, $unseen);
 
 
