diff --git a/sdk/lib/_internal/compiler/implementation/resolution/members.dart b/sdk/lib/_internal/compiler/implementation/resolution/members.dart
index c5fb630..4810fb6 100644
--- a/sdk/lib/_internal/compiler/implementation/resolution/members.dart
+++ b/sdk/lib/_internal/compiler/implementation/resolution/members.dart
@@ -716,6 +716,21 @@
     for (MetadataAnnotation metadata in element.metadata) {
       metadata.ensureResolved(compiler);
     }
+
+    // Force resolution of metadata on non-instance members since they may be
+    // inspected by the backend while emitting. Metadata on instance members is
+    // handled as a result of processing instantiated class members in the
+    // enqueuer.
+    // TODO(ahe): Avoid this eager resolution.
+    element.forEachMember((_, Element member) {
+      if (!member.isInstanceMember()) {
+        compiler.withCurrentElement(member, () {
+          for (MetadataAnnotation metadata in member.metadata) {
+            metadata.ensureResolved(compiler);
+          }
+        });
+      }
+    });
   }
 
   void checkClass(ClassElement element) {
diff --git a/tests/lib/mirrors/static_metatarget_test.dart b/tests/lib/mirrors/static_metatarget_test.dart
new file mode 100644
index 0000000..fe40cae
--- /dev/null
+++ b/tests/lib/mirrors/static_metatarget_test.dart
@@ -0,0 +1,32 @@
+// Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// Regression test for the combined use of metatargets and static fields with
+// annotations.
+
+@MirrorsUsed(metaTargets:const [Reflectable])
+import 'dart:mirrors';
+
+class A {
+  @reflectable var reflectableField = 0; /// 01: ok
+
+  @UsedOnlyAsMetadata() var unreflectableField = 1; /// 02: ok
+
+  @reflectable static var reflectableStaticField = 2; /// 03: ok
+
+  @UsedOnlyAsMetadata() static var unreflectableStaticField = 3;
+}
+
+class Reflectable {
+  const Reflectable();
+}
+const Reflectable reflectable = const Reflectable();
+
+class UsedOnlyAsMetadata {
+  const UsedOnlyAsMetadata();
+}
+
+void main() {
+  print(new A());
+}
\ No newline at end of file
diff --git a/tools/VERSION b/tools/VERSION
index 86c6893..46461a5 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -1,4 +1,4 @@
 MAJOR 0
 MINOR 8
 BUILD 3
-PATCH 0
+PATCH 1 
