diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/JsInteropRestrictionChecker.java b/dev/core/src/com/google/gwt/dev/jjs/impl/JsInteropRestrictionChecker.java
index 1519ca6..8da4fc4 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/JsInteropRestrictionChecker.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/JsInteropRestrictionChecker.java
@@ -533,7 +533,7 @@
       return;
     }
 
-    if (oldJsMember.isNativeMethod() && newJsMember.isNativeMethod()) {
+    if (oldJsMember.isJsNative() && newJsMember.isJsNative()) {
       return;
     }
 
@@ -799,8 +799,8 @@
       this.getter = getter;
     }
 
-    public boolean isNativeMethod() {
-      return member instanceof JMethod && member.isJsNative() && !isPropertyAccessor();
+    public boolean isJsNative() {
+      return member.isJsNative();
     }
 
     public boolean isPropertyAccessor() {
diff --git a/dev/core/test/com/google/gwt/dev/jjs/impl/JsInteropRestrictionCheckerTest.java b/dev/core/test/com/google/gwt/dev/jjs/impl/JsInteropRestrictionCheckerTest.java
index ae5835a..529583e 100644
--- a/dev/core/test/com/google/gwt/dev/jjs/impl/JsInteropRestrictionCheckerTest.java
+++ b/dev/core/test/com/google/gwt/dev/jjs/impl/JsInteropRestrictionCheckerTest.java
@@ -262,6 +262,30 @@
             + "cannot both use the same JavaScript name 'x'.");
   }
 
+  public void testCollidingNativeJsPropertiesSucceeds() throws Exception {
+    addSnippetImport("jsinterop.annotations.JsType");
+    addSnippetImport("jsinterop.annotations.JsMethod");
+    addSnippetImport("jsinterop.annotations.JsProperty");
+    addSnippetClassDecl(
+        "@JsType(isNative=true)",
+        "public static class Buggy {",
+        "  @JsMethod",
+        "  public native int now();",
+        "  @JsProperty",
+        "  public native Object getNow();",
+        "  @JsMethod",
+        "  public static native int other();",
+        "  @JsProperty",
+        "  public static native Object getOther();",
+        "  @JsMethod",
+        "  public static native int another();",
+        "  @JsProperty",
+        "  public static Object another;",
+        "}");
+
+    assertBuggySucceeds();
+  }
+
   public void testCollidingJsPropertiesTwoSettersFails() throws Exception {
     addSnippetImport("jsinterop.annotations.JsType");
     addSnippetImport("jsinterop.annotations.JsProperty");
