diff --git a/src/camel/camel-ews-folder.c b/src/camel/camel-ews-folder.c
index a7cb381..2b5c460 100644
--- a/src/camel/camel-ews-folder.c
+++ b/src/camel/camel-ews-folder.c
@@ -447,7 +447,7 @@ camel_ews_folder_get_message (CamelFolder *folder,
 					  cancellable, &local_error);
 	g_free (mime_dir);
 
-	if (!res) {
+	if (!res || !items) {
 		camel_ews_store_maybe_disconnect (ews_store, local_error);
 		g_propagate_error (error, local_error);
 		goto exit;
diff --git a/src/server/e-ews-connection.c b/src/server/e-ews-connection.c
index 72a92c0..ab528f8 100644
--- a/src/server/e-ews-connection.c
+++ b/src/server/e-ews-connection.c
@@ -2892,6 +2892,11 @@ e_ews_connection_get_items_finish (EEwsConnection *cnc,
 	if (g_simple_async_result_propagate_error (simple, error))
 		return FALSE;
 
+	if (!async_data->items) {
+		g_set_error_literal (error, EWS_CONNECTION_ERROR, EWS_CONNECTION_ERROR_ITEMNOTFOUND, _("No items found"));
+		return FALSE;
+	}
+
 	*items = async_data->items;
 
 	return TRUE;
