diff --git a/sdk/lib/_internal/compiler/implementation/types/simple_types_inferrer.dart b/sdk/lib/_internal/compiler/implementation/types/simple_types_inferrer.dart
index 634a542..bcc73b3 100644
--- a/sdk/lib/_internal/compiler/implementation/types/simple_types_inferrer.dart
+++ b/sdk/lib/_internal/compiler/implementation/types/simple_types_inferrer.dart
@@ -791,6 +791,10 @@
       ContainerTypeMask mask = selector.mask;
       TypeMask elementType = mask.elementType;
       return elementType == null ? dynamicType : elementType;
+    } else if (element.isGetter()) {
+      // Closure call.
+      assert(selector.isCall());
+      return dynamicType;
     } else {
       return returnTypeOfElement(element);
     }
diff --git a/tests/compiler/dart2js/simple_inferrer_test.dart b/tests/compiler/dart2js/simple_inferrer_test.dart
index 19be754..cfd0ba8 100644
--- a/tests/compiler/dart2js/simple_inferrer_test.dart
+++ b/tests/compiler/dart2js/simple_inferrer_test.dart
@@ -351,6 +351,8 @@
   return b;
 }
 
+testReturnInvokeDynamicGetter() => new A().myFactory();
+
 get topLevelGetter => 42;
 returnDynamic() => topLevelGetter(42);
 returnTopLevelGetter() => topLevelGetter;
@@ -370,6 +372,8 @@
   operator[]= (index, value) {}
   returnInt5() => ++this[0];
   returnInt6() => this[0] += 1;
+
+  get myFactory => () => 42;
 }
 
 class B extends A {
@@ -455,6 +459,7 @@
          ..returnInt7()
          ..returnInt8()
          ..returnInt9();
+  testReturnInvokeDynamicGetter();
 }
 """;
 
@@ -527,6 +532,7 @@
   checkReturn('testBreak1', interceptorType.nullable());
   checkReturn('testContinue2', interceptorType.nullable());
   checkReturn('testBreak2', typesInferrer.intType.nullable());
+  checkReturn('testReturnInvokeDynamicGetter', typesInferrer.dynamicType);
 
   checkReturnInClass(String className, String methodName, type) {
     var cls = findElement(compiler, className);
diff --git a/tools/VERSION b/tools/VERSION
index ae9465f..ed3d747 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -1,4 +1,4 @@
 MAJOR 0
 MINOR 5
 BUILD 20
-PATCH 3
+PATCH 4
