diff --git a/dev/core/src/com/google/gwt/core/ext/Linker.java b/dev/core/src/com/google/gwt/core/ext/Linker.java
index 4acf1c2..2288481 100644
--- a/dev/core/src/com/google/gwt/core/ext/Linker.java
+++ b/dev/core/src/com/google/gwt/core/ext/Linker.java
@@ -154,7 +154,7 @@
   /**
    * Does this linker support DevMode?
    */
-  public boolean supportsDevMode() {
+  public boolean supportsDevModeInJunit(LinkerContext context) {
     // By default, linkers do not support Dev Mode
     return false;
   }
diff --git a/dev/core/src/com/google/gwt/core/ext/linker/impl/SelectionScriptLinker.java b/dev/core/src/com/google/gwt/core/ext/linker/impl/SelectionScriptLinker.java
index 9f08655..f3dafb9 100644
--- a/dev/core/src/com/google/gwt/core/ext/linker/impl/SelectionScriptLinker.java
+++ b/dev/core/src/com/google/gwt/core/ext/linker/impl/SelectionScriptLinker.java
@@ -132,7 +132,7 @@
   }
 
   @Override
-  public boolean supportsDevMode() {
+  public boolean supportsDevModeInJunit(LinkerContext context) {
     return (getHostedFilename() != "");
   }
   
diff --git a/user/src/com/google/gwt/junit/JUnitShell.java b/user/src/com/google/gwt/junit/JUnitShell.java
index 05ec38f..5cfc248 100644
--- a/user/src/com/google/gwt/junit/JUnitShell.java
+++ b/user/src/com/google/gwt/junit/JUnitShell.java
@@ -15,9 +15,11 @@
  */
 package com.google.gwt.junit;
 
+import com.google.gwt.core.ext.Linker;
 import com.google.gwt.core.ext.TreeLogger;
 import com.google.gwt.core.ext.UnableToCompleteException;
 import com.google.gwt.core.ext.TreeLogger.Type;
+import com.google.gwt.core.ext.linker.impl.StandardLinkerContext;
 import com.google.gwt.core.ext.typeinfo.JClassType;
 import com.google.gwt.core.ext.typeinfo.TypeOracle;
 import com.google.gwt.dev.ArgProcessorBase;
@@ -1102,7 +1104,10 @@
     if (developmentMode) {
       // BACKWARDS COMPATIBILITY: many linkers currently fail in dev mode.
       try {
-        if (!module.getActivePrimaryLinker().newInstance().supportsDevMode()) {
+        Linker l = module.getActivePrimaryLinker().newInstance();
+        StandardLinkerContext context =
+          new StandardLinkerContext(getTopLogger(), module, null);
+        if (!l.supportsDevModeInJunit(context)) {
           if (module.getLinker("std") != null) {
             // TODO: unfortunately, this could be race condition between dev/prod
             module.addLinker("std");
