Milan Crha 2c486f
diff --git a/camel/providers/local/camel-mh-summary.c b/camel/providers/local/camel-mh-summary.c
Milan Crha 2c486f
index 50e1ace..dd22b17 100644
Milan Crha 2c486f
--- a/camel/providers/local/camel-mh-summary.c
Milan Crha 2c486f
+++ b/camel/providers/local/camel-mh-summary.c
Milan Crha 2c486f
@@ -254,7 +254,13 @@ mh_summary_check (CamelLocalSummary *cls,
Milan Crha 2c486f
 			if (info == NULL || (cls->index && (!camel_index_has_name (cls->index, d->d_name)))) {
Milan Crha 2c486f
 				/* need to add this file to the summary */
Milan Crha 2c486f
 				if (info != NULL) {
Milan Crha 2c486f
-					g_hash_table_remove (left, camel_message_info_uid (info));
Milan Crha 2c486f
+					CamelMessageInfo *old = g_hash_table_lookup (left, camel_message_info_uid (info));
Milan Crha 2c486f
+
Milan Crha 2c486f
+					if (old) {
Milan Crha 2c486f
+						g_hash_table_remove (left, camel_message_info_uid (info));
Milan Crha 2c486f
+						camel_message_info_free (old);
Milan Crha 2c486f
+					}
Milan Crha 2c486f
+
Milan Crha 2c486f
 					camel_folder_summary_remove ((CamelFolderSummary *) cls, info);
Milan Crha 2c486f
 					camel_message_info_free (info);
Milan Crha 2c486f
 				}
Milan Crha 2c486f
@@ -264,8 +270,8 @@ mh_summary_check (CamelLocalSummary *cls,
Milan Crha 2c486f
 				CamelMessageInfo *old = g_hash_table_lookup (left, uid);
Milan Crha 2c486f
 
Milan Crha 2c486f
 				if (old) {
Milan Crha 2c486f
-					camel_message_info_free (old);
Milan Crha 2c486f
 					g_hash_table_remove (left, uid);
Milan Crha 2c486f
+					camel_message_info_free (old);
Milan Crha 2c486f
 				}
Milan Crha 2c486f
 				camel_message_info_free (info);
Milan Crha 2c486f
 			}
Milan Crha 2c486f
@@ -331,6 +337,8 @@ mh_summary_sync (CamelLocalSummary *cls,
Milan Crha 2c486f
 		camel_message_info_free (info);
Milan Crha 2c486f
 	}
Milan Crha 2c486f
 
Milan Crha 2c486f
+	camel_folder_summary_free_array (known_uids);
Milan Crha 2c486f
+
Milan Crha 2c486f
 	/* Chain up to parent's sync() method. */
Milan Crha 2c486f
 	local_summary_class = CAMEL_LOCAL_SUMMARY_CLASS (camel_mh_summary_parent_class);
Milan Crha 2c486f
 	return local_summary_class->sync (cls, expunge, changes, cancellable, error);