diff --git a/camel/camel-exchange-folder.c b/camel/camel-exchange-folder.c
index f2cb4a3..07ea31d 100644
--- a/camel/camel-exchange-folder.c
+++ b/camel/camel-exchange-folder.c
@@ -1027,6 +1027,8 @@ camel_exchange_folder_construct (CamelFolder *folder, CamelStore *parent,
 	if (parent) {
 		gboolean ok, create = camel_flags & CAMEL_STORE_FOLDER_CREATE, readonly = FALSE;
 
+		camel_folder_summary_prepare_fetch_all (folder->summary, ex);
+
 		summary = camel_folder_get_summary (folder);
 		uids = g_ptr_array_new ();
 		g_ptr_array_set_size (uids, summary->len);
@@ -1035,9 +1037,6 @@ camel_exchange_folder_construct (CamelFolder *folder, CamelStore *parent,
 		hrefs = g_ptr_array_new ();
 		g_ptr_array_set_size (hrefs, summary->len);
 
-		if (summary->len - camel_folder_summary_cache_size (folder->summary) > 50)
-			camel_folder_summary_reload_from_db (folder->summary, ex);
-
 		for (i = 0; i < summary->len; i++) {
 			uids->pdata[i] = g_strdup(summary->pdata[i]);
 			info = camel_folder_summary_uid (folder->summary, uids->pdata[i]);
