diff --git a/mail/e-mail-store.c b/mail/e-mail-store.c
index e59e7b2..4785eb5 100644
--- a/mail/e-mail-store.c
+++ b/mail/e-mail-store.c
@@ -383,7 +383,7 @@ handle_transport:
 		camel_url_free (url);
 	}
 
-	if (!skip && (provider->flags & CAMEL_PROVIDER_IS_STORAGE))
+	if (!skip && (provider->flags & CAMEL_PROVIDER_IS_STORAGE) != 0 && store_table != NULL)
 		e_mail_store_add (backend, CAMEL_STORE (service));
 
 	return CAMEL_STORE (service);
@@ -457,7 +457,7 @@ e_mail_store_remove_by_account (EMailBackend *backend,
 	provider = camel_service_get_provider (service);
 	g_return_if_fail (provider != NULL);
 
-	if (!(provider->flags & CAMEL_PROVIDER_IS_STORAGE))
+	if (!(provider->flags & CAMEL_PROVIDER_IS_STORAGE) || store_table == NULL)
 		return;
 
 	e_mail_store_remove (backend, CAMEL_STORE (service));
diff --git a/modules/online-accounts/e-online-accounts-google.c b/modules/online-accounts/e-online-accounts-google.c
index 04d7f9f..666c407 100644
--- a/modules/online-accounts/e-online-accounts-google.c
+++ b/modules/online-accounts/e-online-accounts-google.c
@@ -249,6 +249,8 @@ online_accounts_google_sync_mail (GoaObject *goa_object,
 		g_object_unref (account);
 	}
 
+	e_account_list_save (account_list);
+
 	g_object_unref (goa_account);
 	g_object_unref (goa_mail);
 }
@@ -327,6 +329,7 @@ online_accounts_google_sync_calendar (GoaObject *goa_object,
 	}
 
 	g_object_unref (source_group);
+	g_object_unref (source_list);
 	g_object_unref (goa_account);
 }
 
@@ -387,6 +390,7 @@ online_accounts_google_sync_contacts (GoaObject *goa_object,
 	}
 
 	g_object_unref (source_group);
+	g_object_unref (source_list);
 	g_object_unref (goa_account);
 }
 
