diff --git a/frontend/src/metabase/admin/datamodel/components/PartialQueryBuilder.jsx b/frontend/src/metabase/admin/datamodel/components/PartialQueryBuilder.jsx
index a0e8c6abe2248e4be1b013aa3f6d3ac4a48534e8..63c08c0db1db9a58c360e462341916ada584ee19 100644
--- a/frontend/src/metabase/admin/datamodel/components/PartialQueryBuilder.jsx
+++ b/frontend/src/metabase/admin/datamodel/components/PartialQueryBuilder.jsx
@@ -62,7 +62,7 @@ export default class PartialQueryBuilder extends Component {
                 }
             }
         };
-        let previewUrl = "/q/" + serializeCardForUrl(previewCard);
+        let previewUrl = "/q#" + serializeCardForUrl(previewCard);
 
         return (
             <div className="py1">
diff --git a/frontend/src/metabase/admin/datamodel/containers/MetadataEditorApp.jsx b/frontend/src/metabase/admin/datamodel/containers/MetadataEditorApp.jsx
index 1fa03850c2541484ce9dd653616a50a701ff9593..5c96a1335d54fbfaa1dfaa3dce172d5a71d5194f 100644
--- a/frontend/src/metabase/admin/datamodel/containers/MetadataEditorApp.jsx
+++ b/frontend/src/metabase/admin/datamodel/containers/MetadataEditorApp.jsx
@@ -17,7 +17,7 @@ import {
     getEditingDatabaseWithTableMetadataStrengths,
     getEditingTable
 } from "../selectors";
-import * as metadataActions from "../metadata";
+import * as metadataActions from "../datamodel";
 
 const mapStateToProps = (state, props) => {
     return {
diff --git a/frontend/src/metabase/admin/datamodel/containers/MetricApp.jsx b/frontend/src/metabase/admin/datamodel/containers/MetricApp.jsx
index 1987225464b21ef4c06e5f9e7417ee1ba43c0e01..a8f4cf5ad2230b39a140eb214cda0dc81e5df19a 100644
--- a/frontend/src/metabase/admin/datamodel/containers/MetricApp.jsx
+++ b/frontend/src/metabase/admin/datamodel/containers/MetricApp.jsx
@@ -7,7 +7,7 @@ import MetabaseAnalytics from "metabase/lib/analytics";
 import MetricForm from "./MetricForm.jsx";
 
 import { metricEditSelectors } from "../selectors";
-import * as actions from "../metadata";
+import * as actions from "../datamodel";
 import { clearRequestState } from "metabase/redux/requests";
 
 const mapDispatchToProps = {
diff --git a/frontend/src/metabase/admin/datamodel/containers/RevisionHistoryApp.jsx b/frontend/src/metabase/admin/datamodel/containers/RevisionHistoryApp.jsx
index dcf06543ce3b0e008f2aff4376ca8155631f46ce..d5e2f1d2aeb00498fca0f6c29a01117ad0b92b09 100644
--- a/frontend/src/metabase/admin/datamodel/containers/RevisionHistoryApp.jsx
+++ b/frontend/src/metabase/admin/datamodel/containers/RevisionHistoryApp.jsx
@@ -4,7 +4,7 @@ import { connect } from "react-redux";
 import RevisionHistory from "../components/revisions/RevisionHistory.jsx";
 
 import { revisionHistorySelectors } from "../selectors";
-import * as actions from "../metadata";
+import * as actions from "../datamodel";
 
 const mapStateToProps = (state, props) => {
     return {
diff --git a/frontend/src/metabase/admin/datamodel/containers/SegmentApp.jsx b/frontend/src/metabase/admin/datamodel/containers/SegmentApp.jsx
index c751b87bc981e66d14ef3546eb068f85c3e8c349..735eca3e2d7a1b8dca6893ae483e8f74c1f49a1f 100644
--- a/frontend/src/metabase/admin/datamodel/containers/SegmentApp.jsx
+++ b/frontend/src/metabase/admin/datamodel/containers/SegmentApp.jsx
@@ -7,7 +7,7 @@ import MetabaseAnalytics from "metabase/lib/analytics";
 import SegmentForm from "./SegmentForm.jsx";
 
 import { segmentEditSelectors } from "../selectors";
-import * as actions from "../metadata";
+import * as actions from "../datamodel";
 import { clearRequestState } from "metabase/redux/requests";
 
 const mapDispatchToProps = {
diff --git a/frontend/src/metabase/admin/datamodel/metadata.js b/frontend/src/metabase/admin/datamodel/datamodel.js
similarity index 96%
rename from frontend/src/metabase/admin/datamodel/metadata.js
rename to frontend/src/metabase/admin/datamodel/datamodel.js
index 86858875c13db2b43193f2ba31e9ab5c482ac99d..48c46c0363d0683ee3969dc8719dd32709833da1 100644
--- a/frontend/src/metabase/admin/datamodel/metadata.js
+++ b/frontend/src/metabase/admin/datamodel/datamodel.js
@@ -4,7 +4,6 @@ import { handleActions, combineReducers, AngularResourceProxy, createAction, cre
 import { push } from "react-router-redux";
 
 import MetabaseAnalytics from "metabase/lib/analytics";
-import { augmentTable } from "metabase/lib/table";
 import { loadTableAndForeignKeys } from "metabase/lib/table";
 import { isFK } from "metabase/lib/types";
 
@@ -19,15 +18,8 @@ const Metabase = new AngularResourceProxy("Metabase", ["dataset"]);
 const Revisions = new AngularResourceProxy("Revisions", ["get"]);
 
 
-async function loadDatabaseMetadata(databaseId) {
-    let databaseMetadata = await MetabaseApi.db_metadata({ 'dbId': databaseId });
-
-    databaseMetadata.tables = await Promise.all(databaseMetadata.tables.map(async (table) => {
-        table = await augmentTable(table);
-        return table;
-    }));
-
-    return databaseMetadata;
+function loadDatabaseMetadata(databaseId) {
+    return MetabaseApi.db_metadata({ 'dbId': databaseId });
 }
 
 // initializeMetadata
diff --git a/frontend/src/metabase/lib/visualization_settings.js b/frontend/src/metabase/lib/visualization_settings.js
index 9d418e842df66c9bdfd586d85c109a520605d873..9c347ea632b0cc99a2559299bd087fc7a1bad173 100644
--- a/frontend/src/metabase/lib/visualization_settings.js
+++ b/frontend/src/metabase/lib/visualization_settings.js
@@ -659,6 +659,7 @@ function getSetting(id, vizSettings, series) {
 
     const settingDef = SETTINGS[id];
     const [{ card }] = series;
+    const visualization_settings = card.visualization_settings || {};
 
     for (let dependentId of settingDef.readDependencies || []) {
         getSetting(dependentId, vizSettings, series);
@@ -673,9 +674,9 @@ function getSetting(id, vizSettings, series) {
             return vizSettings[id] = settingDef.getValue(series, vizSettings);
         }
 
-        if (card.visualization_settings[id] !== undefined) {
+        if (visualization_settings[id] !== undefined) {
             if (!settingDef.isValid || settingDef.isValid(series, vizSettings)) {
-                return vizSettings[id] = card.visualization_settings[id];
+                return vizSettings[id] = visualization_settings[id];
             }
         }
 
diff --git a/frontend/src/metabase/reducers.js b/frontend/src/metabase/reducers.js
index 67d984ae484ab5339819ac8410d87e5c7b1a5f61..dae71f013348b0a4fac9e7a5fa4ad42c21927fad 100644
--- a/frontend/src/metabase/reducers.js
+++ b/frontend/src/metabase/reducers.js
@@ -11,7 +11,7 @@ import requests from "metabase/redux/requests";
 import settings from "metabase/admin/settings/settings";
 import people from "metabase/admin/people/people";
 import databases from "metabase/admin/databases/database";
-import datamodel from "metabase/admin/datamodel/metadata";
+import datamodel from "metabase/admin/datamodel/datamodel";
 import permissions from "metabase/admin/permissions/permissions";
 
 /* dashboards */