diff --git a/src/components/structures/UserSettings.js b/src/components/structures/UserSettings.js
index 157540f183..f4dc92aca4 100644
--- a/src/components/structures/UserSettings.js
+++ b/src/components/structures/UserSettings.js
@@ -887,12 +887,12 @@ module.exports = React.createClass({
     },
 
     _onLazyLoadChanging: async function(enabling) {
-        const QuestionDialog = sdk.getComponent("dialogs.QuestionDialog");
         // don't prevent turning LL off when not supported
         if (enabling) {
             const supported = await MatrixClientPeg.get().doesServerSupportLazyLoading();
             if (!supported) {
                 await new Promise((resolve) => {
+                    const QuestionDialog = sdk.getComponent("dialogs.QuestionDialog");
                     Modal.createDialog(QuestionDialog, {
                         title: _t("Lazy loading members not supported"),
                         description:
@@ -907,28 +907,7 @@ module.exports = React.createClass({
                 return false;
             }
         }
-        const confirmed = await new Promise((resolve) => {
-            Modal.createDialog(QuestionDialog, {
-                title: _t("Turn on/off lazy load members"),
-                description:
-                    <div>
-                 { _t("To enable or disable the lazy loading of members, " + 
-                    "the current synced state needs to be cleared out. " + 
-                    "This also includes your end-to-end encryption keys, " +
-                    "so to keep being able to decrypt all your existing encrypted messages, " +
-                    "you'll need to export your E2E room keys and import them again afterwards.") }
-                    </div>,
-                button: _t("Clear sync state and reload"),
-                extraButtons: [
-                    <button key="export" className="mx_Dialog_primary"
-                            onClick={this._onExportE2eKeysClicked}>
-                       { _t("Export E2E room keys") }
-                    </button>,
-                ],
-                onFinished: resolve,
-            });
-        });
-        return confirmed;
+        return true;
     },
 
     _renderDeactivateAccount: function() {
diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json
index eb05ff36e7..2926f4c87c 100644
--- a/src/i18n/strings/en_EN.json
+++ b/src/i18n/strings/en_EN.json
@@ -1218,9 +1218,6 @@
     "Failed to remove tag %(tagName)s from room": "Failed to remove tag %(tagName)s from room",
     "Failed to add tag %(tagName)s to room": "Failed to add tag %(tagName)s to room",
     "Increase performance by only loading room members on first view": "Increase performance by only loading room members on first view",
-    "Turn on/off lazy load members": "Turn on/off lazy load members",
-    "To enable or disable the lazy loading of members, the current synced state needs to be cleared out. This also includes your end-to-end encryption keys, so to keep being able to decrypt all your existing encrypted messages, you'll need to export your E2E room keys and import them again afterwards.": "To enable or disable the lazy loading of members, the current synced state needs to be cleared out. This also includes your end-to-end encryption keys, so to keep being able to decrypt all your existing encrypted messages, you'll need to export your E2E room keys and import them again afterwards.",
-    "Clear sync state and reload": "Clear sync state and reload",
     "Lazy loading members not supported": "Lazy load members not supported",
     "Lazy loading is not supported by your current homeserver.": "Lazy loading is not supported by your current homeserver."
 }
diff --git a/src/settings/controllers/LazyLoadingController.js b/src/settings/controllers/LazyLoadingController.js
index 334111ef7c..90f095c9ca 100644
--- a/src/settings/controllers/LazyLoadingController.js
+++ b/src/settings/controllers/LazyLoadingController.js
@@ -15,10 +15,15 @@ limitations under the License.
 */
 
 import SettingController from "./SettingController";
-import dis from "../../dispatcher";
+import MatrixClientPeg from "../../MatrixClientPeg";
+import PlatformPeg from "../../PlatformPeg";
 
 export default class LazyLoadingController extends SettingController {
-    onChange(level, roomId, newValue) {
-        dis.dispatch({action: 'flush_storage_reload'});
+    async onChange(level, roomId, newValue) {
+        if (!PlatformPeg.get()) return;
+
+        MatrixClientPeg.get().stopClient();
+        await MatrixClientPeg.get().store.deleteAllData();
+        PlatformPeg.get().reload();
     }
 }