diff -up evolution-data-server-3.22.7/camel/providers/imapx/camel-imapx-store.c.imapx-subscriptions evolution-data-server-3.22.7/camel/providers/imapx/camel-imapx-store.c --- evolution-data-server-3.22.7/camel/providers/imapx/camel-imapx-store.c.imapx-subscriptions 2017-04-12 15:10:11.507183207 +0200 +++ evolution-data-server-3.22.7/camel/providers/imapx/camel-imapx-store.c 2017-04-12 15:12:39.367181163 +0200 @@ -1449,14 +1449,21 @@ imapx_store_remove_unknown_mailboxes_cb g_return_val_if_fail (CAMEL_IS_IMAPX_STORE (imapx_store), FALSE); if (camel_imapx_mailbox_get_state (mailbox) == CAMEL_IMAPX_MAILBOX_STATE_CREATED) { + CamelSettings *settings; CamelFolderInfo *fi; gchar *folder_path; + gboolean use_subscriptions; + + settings = camel_service_ref_settings (CAMEL_SERVICE (imapx_store)); + use_subscriptions = camel_imapx_settings_get_use_subscriptions (CAMEL_IMAPX_SETTINGS (settings)); + g_object_unref (settings); folder_path = camel_imapx_mailbox_dup_folder_path (mailbox); fi = imapx_store_build_folder_info (imapx_store, folder_path, (CamelFolderInfoFlags) imapx_store_mailbox_attributes_to_flags (mailbox)); camel_store_folder_created (CAMEL_STORE (imapx_store), fi); - camel_subscribable_folder_subscribed (CAMEL_SUBSCRIBABLE (imapx_store), fi); + if ((fi->flags & CAMEL_STORE_INFO_FOLDER_SUBSCRIBED) != 0 || !use_subscriptions) + camel_subscribable_folder_subscribed (CAMEL_SUBSCRIBABLE (imapx_store), fi); camel_folder_info_free (fi); g_free (folder_path); }