diff --git a/user/src/com/google/gwt/junit/JUnitShell.java b/user/src/com/google/gwt/junit/JUnitShell.java
index 09d2bbe..a9161e5 100644
--- a/user/src/com/google/gwt/junit/JUnitShell.java
+++ b/user/src/com/google/gwt/junit/JUnitShell.java
@@ -710,8 +710,17 @@
       //
       Pattern pattern = Pattern.compile("[^\\s\"]+|\"[^\"\\\\]*(\\\\.[^\"\\\\]*)*\"");
       Matcher matcher = pattern.matcher(args);
+      Pattern quotedArgsPattern = Pattern.compile("^([\"'])(.*)([\"'])$");
+      
       while (matcher.find()) {
-        argList.add(matcher.group());
+        // Strip leading and trailing quotes from the arg
+        String arg = matcher.group();
+        Matcher qmatcher = quotedArgsPattern.matcher(arg);
+        if (qmatcher.matches()) {
+          argList.add(qmatcher.group(2));
+        } else {
+          argList.add(arg);
+        }
       }
     }
 
diff --git a/user/src/com/google/gwt/junit/RunStyleSelenium.java b/user/src/com/google/gwt/junit/RunStyleSelenium.java
index c8d8baf..211c093 100644
--- a/user/src/com/google/gwt/junit/RunStyleSelenium.java
+++ b/user/src/com/google/gwt/junit/RunStyleSelenium.java
@@ -68,12 +68,12 @@
   public static RunStyle create(JUnitShell shell, String[] targetsIn) {
     RCSelenium targets[] = new RCSelenium[targetsIn.length];
 
-    Pattern pattern = Pattern.compile("([\\w\\.-]+):([\\d]+)/([\\w\\*]+)");
+    Pattern pattern = Pattern.compile("([\\w\\.-]+):([\\d]+)/([\\w\\s\\*]+)");
     for (int i = 0; i < targets.length; ++i) {
       Matcher matcher = pattern.matcher(targetsIn[i]);
       if (!matcher.matches()) {
         throw new JUnitFatalLaunchException("Unable to parse Selenium target "
-            + targets[i] + " (expected format is [host]:[port]/[browser])");
+            + targetsIn[i] + " (expected format is [host]:[port]/[browser])");
       }
       RCSelenium instance = new RCSelenium(matcher.group(3), matcher.group(1),
           Integer.parseInt(matcher.group(2)));
