diff --git a/pkg/analyzer/test/src/dart/analysis/driver_resolution_test.dart b/pkg/analyzer/test/src/dart/analysis/driver_resolution_test.dart
index 8eb13a5..203479c 100644
--- a/pkg/analyzer/test/src/dart/analysis/driver_resolution_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/driver_resolution_test.dart
@@ -3831,6 +3831,32 @@
     assertType(aRef, 'int');
   }
 
+  test_invalid_constructor_return_blockBody() async {
+    addTestFile(r'''
+int a = 0;
+class C {
+  C() {
+    return a;
+  }
+}
+''');
+    await resolveTestFile();
+    expect(result.errors, isNotEmpty);
+    assertTopGetRef('a;', 'a');
+  }
+
+  test_invalid_constructor_return_expressionBody() async {
+    addTestFile(r'''
+int a = 0;
+class C {
+  C() => a;
+}
+''');
+    await resolveTestFile();
+    expect(result.errors, isNotEmpty);
+    assertTopGetRef('a;', 'a');
+  }
+
   test_invalid_deferred_type_localVariable() async {
     addTestFile(r'''
 import 'dart:async' deferred as a;
diff --git a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
index 0429009..dedcf53 100644
--- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
@@ -1761,11 +1761,15 @@
       bool hasExpression, Token beginToken, Token endToken) {
     debugEvent("ReturnStatement");
     Expression expression = hasExpression ? popForValue() : null;
+    var statement = forest.returnStatement(beginToken, expression, endToken);
     if (expression != null && inConstructor) {
-      push(buildCompileTimeErrorStatement(
-          fasta.messageConstructorWithReturnType, beginToken.charOffset));
+      Expression error = buildCompileTimeError(
+          fasta.messageConstructorWithReturnType,
+          beginToken.charOffset,
+          lengthForToken(beginToken));
+      push(new InvalidStatementJudgment(error, statement));
     } else {
-      push(forest.returnStatement(beginToken, expression, endToken));
+      push(statement);
     }
   }
 
