diff --git a/src/camel/camel-mapi-folder.c b/src/camel/camel-mapi-folder.c
index 529078a..f55d91f 100644
--- a/src/camel/camel-mapi-folder.c
+++ b/src/camel/camel-mapi-folder.c
@@ -464,6 +464,7 @@ gather_changed_objects_to_slist (EMapiConnection *conn,
 		if (info) {
 			CamelMapiMessageInfo *minfo = (CamelMapiMessageInfo *) info;
 
+			printf ("%s: %d->%d\n", __FUNCTION__, (int)minfo->last_modified, (int)object_data->last_modified);
 			if (minfo->last_modified != object_data->last_modified
 			    && (object_data->msg_flags & MSGFLAG_UNMODIFIED) == 0) {
 				update = TRUE;
@@ -639,6 +640,9 @@ gather_object_offline_cb (EMapiConnection *conn,
 	return TRUE;
 }
 
+void
+dump_bin (const uint8_t *bin, uint32_t bin_sz, gint indent);
+
 static gboolean
 gather_object_summary_cb (EMapiConnection *conn,
 			  TALLOC_CTX *mem_ctx,
@@ -834,6 +838,15 @@ gather_object_summary_cb (EMapiConnection *conn,
 	if (obj_total > 0)
 		camel_operation_progress (cancellable, obj_index * 100 / obj_total);
 
+	{
+		const uint64_t *change_number = e_mapi_util_find_array_propval (&object->properties, PidTagChangeNumber);
+		const struct SBinary_short *bin = e_mapi_util_find_array_propval (&object->properties, PidTagChangeKey);
+		printf ("%s: '%s' %s; changekey:%p\n", __FUNCTION__, uid_str, change_number ? e_mapi_util_mapi_id_to_string (*change_number) : "??", bin);
+		if (bin)
+			dump_bin (bin->lpb, bin->cb, 3);
+		printf ("\n");
+	}
+
 	g_free (uid_str);
 
 	return TRUE;
diff --git a/src/libexchangemapi/e-mapi-connection.c b/src/libexchangemapi/e-mapi-connection.c
index db7b2de..510402a 100644
--- a/src/libexchangemapi/e-mapi-connection.c
+++ b/src/libexchangemapi/e-mapi-connection.c
@@ -2492,6 +2492,8 @@ ensure_additional_properties_cb (EMapiConnection *conn,
 		uint32_t orig_proptag, use_proptag;
 	} additional_properties[] = {
 		{ PidTagBody, MAPI_E_RESERVED },
+		{ PidTagChangeNumber, MAPI_E_RESERVED },
+		{ PidTagChangeKey, MAPI_E_RESERVED },
 		{ PidNameContentClass, MAPI_E_RESERVED }
 	};
 	struct EnsureAdditionalPropertiesData *eap = user_data;
@@ -3254,8 +3256,8 @@ e_mapi_connection_transfer_summary (EMapiConnection *conn,
 				goto cleanup;
 			}
 
-			tags = set_SPropTagArray (mem_ctx, 6,
-				PR_FID,
+			tags = set_SPropTagArray (mem_ctx, 8,
+				PR_FID, PidTagChangeNumber, PidTagChangeKey,
 				PR_MID,
 				PR_MESSAGE_FLAGS,
 				PR_LAST_MODIFICATION_TIME,
diff --git a/src/libexchangemapi/e-mapi-debug.c b/src/libexchangemapi/e-mapi-debug.c
index a715895..3efdd79 100644
--- a/src/libexchangemapi/e-mapi-debug.c
+++ b/src/libexchangemapi/e-mapi-debug.c
@@ -50,7 +50,7 @@ e_mapi_debug_print (const gchar *format, ...)
 	fflush (stdout);
 }
 
-static void
+void
 dump_bin (const uint8_t *bin, uint32_t bin_sz, gint indent)
 {
 	gint k, l, last;
