diff --git a/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/scoping/ImportUriFixer_fixUri_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/scoping/ImportUriFixer_fixUri_Test.java
index 1378b22..b17ba32 100644
--- a/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/scoping/ImportUriFixer_fixUri_Test.java
+++ b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/scoping/ImportUriFixer_fixUri_Test.java
@@ -43,7 +43,6 @@
 
   @Test public void should_not_fix_import_URI_if_not_missing_scheme() {
     String importUri = "platform:/resource/testing/src/folder1/test.proto";
-    when(resourceChecker.resourceExists(importUri)).thenReturn(true);
     String fixed = fixer.fixUri(importUri, resourceUri, resourceChecker);
     assertThat(fixed, equalTo(importUri));
   }
diff --git a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/ImportUriFixer.java b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/ImportUriFixer.java
index c209724..d337115 100644
--- a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/ImportUriFixer.java
+++ b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/ImportUriFixer.java
@@ -39,8 +39,8 @@
     if (importUri.startsWith(PREFIX)) return importUri;
     Pair<String, List<String>> importUriPair = pair(importUri, createURI(importUri).segmentsList());
     String fixed = fixUri(importUriPair, resourceUri, checker);
-    if (fixed == null) return importUri;
     System.out.println(resourceUri + " : " + importUri + " : " + fixed);
+    if (fixed == null) return importUri;
     return fixed;
   }
   
