diff --git a/res/css/structures/_TabbedView.scss b/res/css/structures/_TabbedView.scss
index 29e7c401e6..eef491774a 100644
--- a/res/css/structures/_TabbedView.scss
+++ b/res/css/structures/_TabbedView.scss
@@ -91,4 +91,4 @@ limitations under the License.
     flex-grow: 1;
     overflow: auto;
     min-height: 0; // firefox
-}
\ No newline at end of file
+}
diff --git a/res/css/views/dialogs/_SettingsDialog.scss b/res/css/views/dialogs/_SettingsDialog.scss
index 925f966216..ec813a1a07 100644
--- a/res/css/views/dialogs/_SettingsDialog.scss
+++ b/res/css/views/dialogs/_SettingsDialog.scss
@@ -14,37 +14,29 @@ See the License for the specific language governing permissions and
 limitations under the License.
 */
 
-.mx_SettingsDialog {
-    .mx_Dialog {
-        height: 80%;
-        border-radius: 4px;
-        padding-top: 0;
-        padding-right: 30px;
-        padding-left: 0;
+// Not actually a component but things shared by settings components
+.mx_UserSettingsDialog, .mx_RoomSettingsDialog {
+    width: 90vw;
+    max-width: 1000px;
+    // set the height too since tabbed view scrolls itself.
+    height: 80vh;
 
-        .mx_TabbedView {
-            top: 65px;
-        }
+    .mx_TabbedView {
+        top: 65px;
+    }
 
-        .mx_TabbedView .mx_SettingsTab {
-            box-sizing: border-box;
-            min-width: 580px;
-            padding-right: 100px;
+    .mx_TabbedView .mx_SettingsTab {
+        box-sizing: border-box;
+        min-width: 580px;
+        padding-right: 100px;
 
-            // Put some padding on the bottom to avoid the settings tab from
-            // colliding harshly with the dialog when scrolled down.
-            padding-bottom: 100px;
-        }
+        // Put some padding on the bottom to avoid the settings tab from
+        // colliding harshly with the dialog when scrolled down.
+        padding-bottom: 100px;
+    }
 
-        .mx_Dialog_title {
-            text-align: center;
-            margin-top: 16px;
-            margin-bottom: 24px;
-        }
-
-        .mx_Dialog_fixedWidth {
-            max-width: 1000px;
-            width: 90vw;
-        }
+    .mx_Dialog_title {
+        text-align: center;
+        margin-bottom: 24px;
     }
 }
diff --git a/src/components/structures/MatrixChat.js b/src/components/structures/MatrixChat.js
index 19ac145c08..28b7528a4c 100644
--- a/src/components/structures/MatrixChat.js
+++ b/src/components/structures/MatrixChat.js
@@ -597,8 +597,8 @@ export default React.createClass({
                 break;
             case 'view_user_settings': {
                 const UserSettingsDialog = sdk.getComponent("dialogs.UserSettingsDialog");
-                Modal.createTrackedDialog('User settings', '', UserSettingsDialog, {}, 'mx_SettingsDialog',
-                    /*isPriority=*/false, /*isStatic=*/true);
+                Modal.createTrackedDialog('User settings', '', UserSettingsDialog, {},
+                    /*className=*/null, /*isPriority=*/false, /*isStatic=*/true);
 
                 // View the welcome or home page if we need something to look at
                 this._viewSomethingBehindModal();
diff --git a/src/stores/RoomViewStore.js b/src/stores/RoomViewStore.js
index d8556f661e..77b02a8744 100644
--- a/src/stores/RoomViewStore.js
+++ b/src/stores/RoomViewStore.js
@@ -120,7 +120,7 @@ class RoomViewStore extends Store {
                 const RoomSettingsDialog = sdk.getComponent("dialogs.RoomSettingsDialog");
                 Modal.createTrackedDialog('Room settings', '', RoomSettingsDialog, {
                     roomId: payload.room_id || this._state.roomId,
-                }, 'mx_SettingsDialog', /*isPriority=*/false, /*isStatic=*/true);
+                }, /*className=*/null, /*isPriority=*/false, /*isStatic=*/true);
                 break;
             }
         }