Index: src/plugin/index-static/src/test/org/apache/nutch/indexer/staticfield/TestStaticFieldIndexerTest.java
===================================================================
--- src/plugin/index-static/src/test/org/apache/nutch/indexer/staticfield/TestStaticFieldIndexerTest.java	(revision 1497557)
+++ src/plugin/index-static/src/test/org/apache/nutch/indexer/staticfield/TestStaticFieldIndexerTest.java	(working copy)
@@ -84,7 +84,7 @@
   public void testNormalScenario() throws Exception {
 
     conf.set("index.static",
-        "field1:val1, field2    :      val2 val3     , field3, field4 :val4 , ");
+        "field1:val1, field2    :      val2 val3     , field3, field4 :val4 , field5: val:with:colon , ");
     assertNotNull(filter);
     filter.setConf(conf);
 
@@ -99,12 +99,14 @@
 
     assertNotNull(doc);
     assertFalse("test if doc is not empty", doc.getFieldNames().isEmpty());
-    assertEquals("test if doc has 3 fields", 3, doc.getFieldNames().size());
+    assertEquals("test if doc has 4 fields", 4, doc.getFieldNames().size());
     assertTrue("test if doc has field1", doc.getField("field1").getValues()
         .contains("val1"));
     assertTrue("test if doc has field2", doc.getField("field2").getValues()
         .contains("val2"));
     assertTrue("test if doc has field4", doc.getField("field4").getValues()
         .contains("val4"));
+    assertTrue("test if doc has field5", doc.getField("field5").getValues()
+        .contains("val:with:colon"));
   }
 }
Index: src/plugin/index-static/src/java/org/apache/nutch/indexer/staticfield/StaticFieldIndexer.java
===================================================================
--- src/plugin/index-static/src/java/org/apache/nutch/indexer/staticfield/StaticFieldIndexer.java	(revision 1497557)
+++ src/plugin/index-static/src/java/org/apache/nutch/indexer/staticfield/StaticFieldIndexer.java	(working copy)
@@ -17,6 +17,7 @@
 
 package org.apache.nutch.indexer.staticfield;
 
+import java.lang.String;
 import java.util.HashMap;
 import java.util.Map.Entry;
 
@@ -72,16 +73,19 @@
    * @param fieldsString string containing field:value pairs
    * @return HashMap of fields and their corresponding values
    */
-  private HashMap<String, String[]> parseFields(String fieldsString) {
+  private static HashMap<String, String[]> parseFields(String fieldsString) {
     HashMap<String, String[]> fields = new HashMap<String, String[]>();
 
     /* The format is very easy, it's a comma-separated list of fields in the
        form <name>:<value>
      */
     for (String field : fieldsString.split(",")) {
-      String[] entry = field.split(":");
-      if (entry.length == 2)
-        fields.put(entry[0].trim(), entry[1].trim().split(" "));
+      int separatorIndex = field.indexOf(':');
+      if (separatorIndex != -1) {
+        String key = field.substring(0, separatorIndex);
+        String value = field.substring(separatorIndex + 1);
+        fields.put(key.trim(), value.trim().split(" "));
+      }
     }
 
     return fields;
