diff --git a/frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx b/frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx
index 7d736a34ddfdc4414d07fa767d9d31542ace0caa..dc5fffbe361e03876949ebf23be71b9138f7d7f2 100644
--- a/frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx
+++ b/frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx
@@ -280,7 +280,7 @@ export default class FieldRemapping extends React.Component {
                 dimensions: [],
                 fks: this.getForeignKeys(),
               }}
-              tableMetadata={table}
+              table={table}
               onFieldChange={this.onForeignKeyFieldChange}
               hideSectionHeader
             />
diff --git a/frontend/src/metabase/modes/components/actions/PivotByAction.jsx b/frontend/src/metabase/modes/components/actions/PivotByAction.jsx
index 3916a206742668eedf6cc009b06b5266ba691456..2f01016402006c9070fba27f87d102d960cdbc5c 100644
--- a/frontend/src/metabase/modes/components/actions/PivotByAction.jsx
+++ b/frontend/src/metabase/modes/components/actions/PivotByAction.jsx
@@ -62,7 +62,6 @@ export default (name: string, icon: string, fieldFilter: FieldFilter) => ({
           breakoutOptions={breakoutOptions}
           onCommitBreakout={breakout => {
             const nextCard = question.pivot([breakout], dimensions).card();
-
             if (nextCard) {
               onChangeCardAndRun({ nextCard });
             }
diff --git a/frontend/src/metabase/query_builder/components/AggregationPopover.jsx b/frontend/src/metabase/query_builder/components/AggregationPopover.jsx
index a834d1e479a24d6ad8d2e843d84811ac4eeb8129..f1953b94c762b7ee45fcfa3a0fffa2bd12e332c2 100644
--- a/frontend/src/metabase/query_builder/components/AggregationPopover.jsx
+++ b/frontend/src/metabase/query_builder/components/AggregationPopover.jsx
@@ -348,7 +348,7 @@ export default class AggregationPopover extends Component {
           <FieldList
             className={"text-green"}
             maxHeight={this.props.maxHeight - (this.state.headerHeight || 0)}
-            tableMetadata={tableMetadata}
+            table={tableMetadata}
             field={fieldId}
             fieldOptions={query.aggregationFieldOptions(agg)}
             customFieldOptions={customFields}
diff --git a/frontend/src/metabase/query_builder/components/BreakoutPopover.jsx b/frontend/src/metabase/query_builder/components/BreakoutPopover.jsx
index 341ad3133856cf68151f166bb6955e8311089096..11ebc48250a1f279e499e56a19c32b19a323f860 100644
--- a/frontend/src/metabase/query_builder/components/BreakoutPopover.jsx
+++ b/frontend/src/metabase/query_builder/components/BreakoutPopover.jsx
@@ -26,22 +26,29 @@ const BreakoutPopover = ({
   onClose,
   maxHeight,
   alwaysExpanded,
-}: Props) => (
-  <FieldList
-    className="text-green"
-    maxHeight={maxHeight}
-    field={breakout}
-    fieldOptions={breakoutOptions || query.breakoutOptions()}
-    onFieldChange={field => {
-      onCommitBreakout(field);
-      if (onClose) {
-        onClose();
-      }
-    }}
-    tableMetadata={query.tableMetadata()}
-    enableSubDimensions
-    alwaysExpanded={alwaysExpanded}
-  />
-);
+}: Props) => {
+  const table = query.table();
+  // FieldList requires table
+  if (!table) {
+    return null;
+  }
+  return (
+    <FieldList
+      className="text-green"
+      maxHeight={maxHeight}
+      field={breakout}
+      fieldOptions={breakoutOptions || query.breakoutOptions()}
+      onFieldChange={field => {
+        onCommitBreakout(field);
+        if (onClose) {
+          onClose();
+        }
+      }}
+      table={table}
+      enableSubDimensions
+      alwaysExpanded={alwaysExpanded}
+    />
+  );
+};
 
 export default BreakoutPopover;
diff --git a/frontend/src/metabase/query_builder/components/BreakoutWidget.jsx b/frontend/src/metabase/query_builder/components/BreakoutWidget.jsx
index 647ccabf2f6f9ce96d0624092620e5e0cab93f66..5055b3aa4a41d49a35f942bebc82d4099b9506ca 100644
--- a/frontend/src/metabase/query_builder/components/BreakoutWidget.jsx
+++ b/frontend/src/metabase/query_builder/components/BreakoutWidget.jsx
@@ -58,7 +58,7 @@ export default class BreakoutWidget extends Component {
         >
           <FieldList
             className={"text-green"}
-            tableMetadata={this.props.tableMetadata}
+            table={this.props.tableMetadata}
             field={this.props.field}
             fieldOptions={this.props.fieldOptions}
             customFieldOptions={this.props.customFieldOptions}
diff --git a/frontend/src/metabase/query_builder/components/FieldList.jsx b/frontend/src/metabase/query_builder/components/FieldList.jsx
index 325c4bf5e05271debb44f51f73f5c5621d6b4658..4fccc60588a56d4cec9882cecb8f5eaec5fa9660 100644
--- a/frontend/src/metabase/query_builder/components/FieldList.jsx
+++ b/frontend/src/metabase/query_builder/components/FieldList.jsx
@@ -35,7 +35,7 @@ type Props = {
   // HACK: for segments
   onFilterChange?: (filter: any) => void,
 
-  tableMetadata: Table,
+  table: Table,
 
   alwaysExpanded?: boolean,
   enableSubDimensions?: boolean,
@@ -61,13 +61,8 @@ export default class FieldList extends Component {
   }
 
   componentWillReceiveProps(newProps) {
-    let {
-      tableMetadata,
-      fieldOptions,
-      segmentOptions,
-      hideSectionHeader,
-    } = newProps;
-    let tableName = tableMetadata.display_name;
+    let { table, fieldOptions, segmentOptions, hideSectionHeader } = newProps;
+    let tableName = table.display_name;
 
     let specialOptions = [];
     if (segmentOptions) {
@@ -110,11 +105,7 @@ export default class FieldList extends Component {
   };
 
   renderItemExtra = item => {
-    const {
-      field,
-      enableSubDimensions,
-      tableMetadata: { metadata },
-    } = this.props;
+    const { field, enableSubDimensions, table: { metadata } } = this.props;
 
     return (
       <div className="Field-extra flex align-center">
@@ -167,7 +158,7 @@ export default class FieldList extends Component {
   };
 
   renderSubDimensionTrigger(dimension) {
-    const { field, tableMetadata: { metadata } } = this.props;
+    const { field, table: { metadata } } = this.props;
     const subDimension = dimension.isSameBaseDimension(field)
       ? Dimension.parseMBQL(field, metadata)
       : dimension.defaultDimension();
@@ -181,16 +172,11 @@ export default class FieldList extends Component {
   }
 
   renderSegmentTooltip(segment) {
-    let { tableMetadata } = this.props;
+    let { table } = this.props;
     return (
       <div className="p1">
         <Tooltip
-          tooltip={
-            <QueryDefinitionTooltip
-              object={segment}
-              tableMetadata={tableMetadata}
-            />
-          }
+          tooltip={<QueryDefinitionTooltip object={segment} table={table} />}
         >
           <span className="QuestionTooltipTarget" />
         </Tooltip>
diff --git a/frontend/src/metabase/query_builder/components/FieldWidget.jsx b/frontend/src/metabase/query_builder/components/FieldWidget.jsx
index f724c3795ce1474f80a13aeb775e2965b7be0580..8392c9e0fdb9d5686f7ef2467a34dd89ee63dc93 100644
--- a/frontend/src/metabase/query_builder/components/FieldWidget.jsx
+++ b/frontend/src/metabase/query_builder/components/FieldWidget.jsx
@@ -56,7 +56,7 @@ export default class FieldWidget extends Component {
         <Popover ref="popover" className="FieldPopover" onClose={this.toggle}>
           <FieldList
             className={"text-" + this.props.color}
-            tableMetadata={this.props.tableMetadata}
+            table={this.props.tableMetadata}
             field={this.props.field}
             fieldOptions={this.props.fieldOptions}
             customFieldOptions={this.props.customFieldOptions}
diff --git a/frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx b/frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx
index 8b0fa84cc486a8a18e653ecd421a52d8ab59eb37..43f3466e563d3fa1fe2d6a0924d2bc33b62003f2 100644
--- a/frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx
+++ b/frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx
@@ -319,7 +319,7 @@ export default class FilterPopover extends Component {
             field={fieldRef}
             fieldOptions={query.filterFieldOptions(filter)}
             segmentOptions={query.filterSegmentOptions(filter)}
-            tableMetadata={query.table()}
+            table={query.table()}
             onFieldChange={this.setField}
             onFilterChange={this.commitFilter}
           />
diff --git a/frontend/test/metabase/modes/components/actions/PivotByAction.unit.spec.js b/frontend/test/metabase/modes/components/actions/PivotByAction.unit.spec.js
index 6617ceed2e18e18eb794bcb3bac0e2414b274f45..598c042db6bbecaac9d05f6b0f8abffb316a939f 100644
--- a/frontend/test/metabase/modes/components/actions/PivotByAction.unit.spec.js
+++ b/frontend/test/metabase/modes/components/actions/PivotByAction.unit.spec.js
@@ -2,12 +2,7 @@
 
 import React from "react";
 
-import {
-  question,
-  questionNoFields,
-  ORDERS_TABLE_ID,
-  ORDERS_CREATED_DATE_FIELD_ID,
-} from "__support__/sample_dataset_fixture";
+import { question } from "__support__/sample_dataset_fixture";
 
 import { mount } from "enzyme";
 import { click } from "__support__/enzyme_utils";
diff --git a/frontend/test/metabase/query_builder/components/FieldList.e2e.spec.js b/frontend/test/metabase/query_builder/components/FieldList.e2e.spec.js
index d36cf498f30b06a4512efae5374278301410f080..70aa5db39ec5fbdb93949700bbfbaeaa71744ee8 100644
--- a/frontend/test/metabase/query_builder/components/FieldList.e2e.spec.js
+++ b/frontend/test/metabase/query_builder/components/FieldList.e2e.spec.js
@@ -32,7 +32,7 @@ import Filter from "metabase/query_builder/components/Filter";
 
 const getFieldList = (query, fieldOptions, segmentOptions) => (
   <FieldList
-    tableMetadata={query.tableMetadata()}
+    table={query.table()}
     fieldOptions={fieldOptions}
     segmentOptions={segmentOptions}
     customFieldOptions={query.expressions()}