Index: maven-project/src/test/java/org/apache/maven/project/ModelUtilsTest.java
===================================================================
--- maven-project/src/test/java/org/apache/maven/project/ModelUtilsTest.java	(revision 682911)
+++ maven-project/src/test/java/org/apache/maven/project/ModelUtilsTest.java	(working copy)
@@ -21,6 +21,7 @@
 
 import org.apache.maven.model.Build;
 import org.apache.maven.model.Dependency;
+import org.apache.maven.model.Model;
 import org.apache.maven.model.Plugin;
 import org.apache.maven.model.PluginContainer;
 import org.apache.maven.model.PluginExecution;
@@ -575,5 +576,43 @@
         Map executionMap = pChild.getExecutionsAsMap();
         assertNotNull( "test execution should be inherited from parent.", executionMap.get( testId ) );
     }
+    
+    public void testCloneModelShouldPreservePluginWithInheritedFlagSetToFalse()
+    {
+        Model model = new Model();
+        Build build = new Build();
+        
+        model.setBuild( build );
+        
+        Plugin nonInheritedPlugin = createPlugin( "group", "artifact", "1.0", Collections.EMPTY_MAP );
+        nonInheritedPlugin.setInherited( "false" );
 
+        build.addPlugin( nonInheritedPlugin );
+
+        build.addPlugin( createPlugin( "group3", "artifact3", "1.0", Collections.EMPTY_MAP ) );
+        
+        Model cloned = ModelUtils.cloneModel( model );
+        
+        Build clonedBuild = cloned.getBuild();
+        
+        assertNotNull( clonedBuild );
+        
+        List clonedPlugins = clonedBuild.getPlugins();
+
+        assertEquals( 1, clonedPlugins.size() );
+        
+        boolean foundInheritedPlugin = false;
+        for ( Iterator it = clonedPlugins.iterator(); it.hasNext(); )
+        {
+            Plugin plugin = (Plugin) it.next();
+            if ( plugin.equals( nonInheritedPlugin ) )
+            {
+                foundInheritedPlugin = true;
+                break;
+            }
+        }
+
+        assertTrue( foundInheritedPlugin );
+    }
+
 }

