diff --git a/activation-api-1.2.1/src/main/java/javax/activation/MailcapCommandMap.java b/activation-api-1.2.1/src/main/java/javax/activation/MailcapCommandMap.java
index a028635..536083f 100644
--- a/activation-api-1.2.1/src/main/java/javax/activation/MailcapCommandMap.java
+++ b/activation-api-1.2.1/src/main/java/javax/activation/MailcapCommandMap.java
@@ -41,6 +41,10 @@
  * @version $Rev$ $Date$
  */
 public class MailcapCommandMap extends CommandMap {
+    /**
+     * A string that holds all the special chars.
+     */
+    private static final String TSPECIALS = "()<>@,;:/[]?=\\\"";
     private final Map mimeTypes = new HashMap();
     private final Map preferredCommands = new HashMap();
     private final Map allCommands = new HashMap();
@@ -310,7 +314,7 @@
     }
 
     private int getToken(String s, int index) {
-        while (index < s.length() && s.charAt(index) != '#' && !MimeType.isSpecial(s.charAt(index))) {
+        while (index < s.length() && s.charAt(index) != '#' && !isSpecialCharacter(s.charAt(index))) {
             index++;
         }
         return index;
@@ -504,4 +508,8 @@
         }
         return (String[])commands.toArray(new String[commands.size()]);
     }
+    
+    private boolean isSpecialCharacter(char c) {
+        return Character.isWhitespace(c) || Character.isISOControl(c) || TSPECIALS.indexOf(c) != -1;
+    }
 }
