Index: src/main/java/org/apache/maven/plugin/reactor/ResumeMojo.java
===================================================================
--- src/main/java/org/apache/maven/plugin/reactor/ResumeMojo.java	(revision 702655)
+++ src/main/java/org/apache/maven/plugin/reactor/ResumeMojo.java	(working copy)
@@ -20,7 +20,7 @@
  */
 
 import java.io.File;
-import java.util.Arrays;
+import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.maven.plugin.AbstractMojo;
@@ -176,9 +176,32 @@
         catch ( Exception e )
         {
             throw new MojoExecutionException( "Problem generating dependency tree", e );
-        }
+        }                
 
-        simpleInvoker.runReactor( reactorIncludes, Arrays.asList( goals.split( "," ) ), invoker, printOnly, getLog() );
+        simpleInvoker.runReactor( reactorIncludes, getGoalList(), invoker, printOnly, getLog() );
 
     }
+    
+    private List getGoalList()
+    {   
+    	String[] tokens = goals.split(",");
+    	
+    	List goalList = new ArrayList(tokens.length);
+    	
+    	for(int i = 0; i < tokens.length; i++) {
+    		String token = tokens[i];
+    		if(token.isEmpty()) { // Two commas one after the other, comma is escaped
+    			if(goalList.isEmpty()) {
+    				// someone had the idea to put a comma at the complete beginning    				
+    				continue;
+    			}
+    			// Get the next token and merge it
+    			String last = (String) goalList.remove(goalList.size() - 1);
+    			token = last + "," + tokens[++i];
+    		}
+    		goalList.add(token);
+    	}
+    	
+    	return goalList;
+    }
 }
Index: src/site/apt/examples.apt.vm
===================================================================
--- src/site/apt/examples.apt.vm	(revision 702655)
+++ src/site/apt/examples.apt.vm	(working copy)
@@ -106,13 +106,13 @@
   
   In this example, if you only modified files in barBusinessLogic, then running <<<reactor:make-scm-changes>>> is equivalent to running <<<reactor:make-dependents -Dmake.folders=barBusinessLogic>>> -- it builds barBusinessLogic and anything that depends on barBusinessLogic (in this case, it will build fooUI).
 
-  <<If you find that reactor:make-scm-changes is doing somthing you don't expect, try running Maven in debug mode>> with <<<--debug>>> or <<<-X>>> like this:
+  <<If you find that reactor:make-scm-changes is doing something you don't expect, try running Maven in debug mode>> with <<<--debug>>> or <<<-X>>> like this:
   
 +---+
 mvn reactor:make-scm-changes -X
 +---+
 
-  You'll see a log of all the changed files and a depiction of how we computed which projects to pass to <<<reactor:make-dependents>>>.
+  You'll see a log of all the changed files and a description of how we computed which projects to pass to <<<reactor:make-dependents>>>.
 
 * Doing a "dry run" with the reactor plugin
 
@@ -146,11 +146,13 @@
   You can pass additional arguments to the spawned Maven by treating them as goals with <<<-Dmake.goals>>>, like this:
 
 +---+
-mvn reactor:resume -Dmake.folders=barBusinessLogic -Dmake.goals=install,-DskipTests
+mvn reactor:resume -Dmake.folders=barBusinessLogic -Dmake.goals=install,-DskipTests,-Pprofile1,,profile2
 +---+
 
   In other words, the "goals" are just extra command-line parameters passed to the spawned Maven; they don't necessarily have to be "goals."
   
+  <<Note:>> Use two commas to escape a comma as in <<<-Pprofile1,,profile2>>>
+  
   If you want to get really fancy, you may prefer to just dry run the reactor plugin in <<<-Dmake.printOnly>>> mode, described above.  That will print out the command that the plugin would have used to build, but you can tweak that command line to your heart's content!
 
 * Resuming a "make" build
Index: src/test/java/org/apache/maven/plugin/reactor/MakeMojoTest.java
===================================================================
--- src/test/java/org/apache/maven/plugin/reactor/MakeMojoTest.java	(revision 702655)
+++ src/test/java/org/apache/maven/plugin/reactor/MakeMojoTest.java	(working copy)
@@ -127,6 +127,23 @@
         assertEquals("businessLogic/pom.xml,ui/pom.xml", fi.getIncludes());
     }
     
+    public void testGoalList() throws Exception {
+    	MakeMojo m = new MakeMojo();
+        m.collectedProjects = configuredProjects;
+        m.artifactList = "reactortest:ui";
+        m.continueFromFolder = new File(baseDir, "businessLogic");
+        m.baseDir = baseDir;
+        // Extreme case with useless commas at the beginning and end
+        m.goals = ",clean,install,-Dmaven.test.skip=true,-Put,,it,,deploy,";
+        FakeInvoker fi = new FakeInvoker();
+        m.simpleInvoker = fi;
+        m.execute();
+        
+        final List expected = Arrays.asList(new Object[] { "clean", "install", "-Dmaven.test.skip=true", "-Put,it,deploy"});
+        
+        assertEquals(expected , fi.goalList);
+    }
+    
     class FakeInvoker extends SimpleInvoker {
         String[] reactorIncludes;
         List goalList;

