diff --git a/src/com/android/email/provider/EmailProvider.java b/src/com/android/email/provider/EmailProvider.java
index 2ef6fdc..3bb92b0 100644
--- a/src/com/android/email/provider/EmailProvider.java
+++ b/src/com/android/email/provider/EmailProvider.java
@@ -3695,8 +3695,10 @@
                     mExtras.putInt(UIProvider.CursorExtraKeys.EXTRA_STATUS,
                             UIProvider.CursorStatus.LOADING);
                 } else if (mailbox.mUiSyncStatus == EmailContent.SYNC_STATUS_NONE) {
-                     if (mailbox.mSyncInterval == 0 && Mailbox.isSyncableType(mailbox.mType) &&
-                             !TextUtils.isEmpty(mailbox.mServerId) &&
+                     if (mailbox.mSyncInterval == 0
+                             && (Mailbox.isSyncableType(mailbox.mType)
+                                    || mailbox.mType == Mailbox.TYPE_SEARCH)
+                             && !TextUtils.isEmpty(mailbox.mServerId) &&
                              // TODO: There's potentially a race condition here.
                              // Consider merging this check with the auto-sync code in respond.
                              System.currentTimeMillis() - mailbox.mSyncTime
diff --git a/src/com/android/email/service/ImapService.java b/src/com/android/email/service/ImapService.java
index 15bc5fd..5441ebf 100644
--- a/src/com/android/email/service/ImapService.java
+++ b/src/com/android/email/service/ImapService.java
@@ -59,6 +59,7 @@
 import com.android.emailcommon.service.EmailServiceStatus;
 import com.android.emailcommon.service.SearchParams;
 import com.android.emailcommon.utility.AttachmentUtilities;
+import com.android.mail.providers.UIProvider;
 import com.android.mail.providers.UIProvider.AccountCapabilities;
 import com.android.mail.utils.LogUtils;
 
@@ -1411,6 +1412,9 @@
         }
 
         // Tell UI that we're loading messages
+        final ContentValues statusValues = new ContentValues(2);
+        statusValues.put(Mailbox.UI_SYNC_STATUS, UIProvider.SyncStatus.LIVE_QUERY);
+        destMailbox.update(context, statusValues);
 
         final Store remoteStore = Store.getInstance(account, context);
         final Folder remoteFolder = remoteStore.getFolder(mailbox.mServerId);
@@ -1500,6 +1504,11 @@
             public void loadAttachmentProgress(int progress) {
             }
         });
+        // Tell UI that we're done loading messages
+        statusValues.put(Mailbox.SYNC_TIME, System.currentTimeMillis());
+        statusValues.put(Mailbox.UI_SYNC_STATUS, UIProvider.SyncStatus.NO_SYNC);
+        destMailbox.update(context, statusValues);
+
         return numSearchResults;
     }
 }
