diff --git a/frontend/src/metabase/components/Popover.jsx b/frontend/src/metabase/components/Popover.jsx
index fd31dbff49690b021147c959680ca1014c596ba8..164a806f712b8dce822b7bf788c95676291c8585 100644
--- a/frontend/src/metabase/components/Popover.jsx
+++ b/frontend/src/metabase/components/Popover.jsx
@@ -86,7 +86,7 @@ export default class Popover extends Component {
 
     _popoverComponent() {
         return (
-            <OnClickOutsideWrapper handleDismissal={this.handleDismissal}>
+            <OnClickOutsideWrapper handleDismissal={this.handleDismissal} dismissOnEscape={this.props.dismissOnEscape} dismissOnClickOutside={this.props.dismissOnClickOutside}>
                 <div id={this.props.id} className={cx("PopoverBody", { "PopoverBody--withArrow": this.props.hasArrow }, this.props.className)}>
                     { typeof this.props.children === "function" ?
                         this.props.children()
diff --git a/frontend/src/metabase/query_builder/components/AggregationWidget.jsx b/frontend/src/metabase/query_builder/components/AggregationWidget.jsx
index 01a8782828cbd2d63ce8f8e9750a0621a413cae7..96c9e0425e19cf1ed0df873c2c09cf4d60ec8c55 100644
--- a/frontend/src/metabase/query_builder/components/AggregationWidget.jsx
+++ b/frontend/src/metabase/query_builder/components/AggregationWidget.jsx
@@ -98,6 +98,7 @@ export default class AggregationWidget extends Component {
                     className="FilterPopover"
                     isInitiallyOpen={true}
                     onClose={this.close}
+                    dismissOnEscape={false} // disable for expression editor
                 >
                     <AggregationPopover
                         aggregation={aggregation}