diff --git a/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx b/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx
index 7b0e60e78c7f6967ae77a292115781cc763c62da..181578a36e4405cad6842d627e4367b20a90032c 100644
--- a/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx
+++ b/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx
@@ -307,7 +307,7 @@ export default class ExpressionEditorTextfield extends React.Component {
   };
 
   handleExpressionChange(source) {
-    this.setState({ source });
+    this.setState({ source, errorMessage: null });
     if (this.props.onBlankChange) {
       this.props.onBlankChange(source.length === 0);
     }
@@ -400,7 +400,7 @@ export default class ExpressionEditorTextfield extends React.Component {
             highlightedIndex={this.state.highlightedSuggestionIndex}
           />
         </EditorContainer>
-        <ErrorMessage error={errorMessage} />
+        {!isFocused && <ErrorMessage error={errorMessage} />}
         <HelpText helpText={this.state.helpText} width={this.props.width} />
       </React.Fragment>
     );