Renamed Pom.profile() into Pom.getOrCreateProfile() and added a new method Pom.profile() to just get a profile.
diff --git a/src/main/groovy/m4e/Pom.groovy b/src/main/groovy/m4e/Pom.groovy
index 699b5b1..0b0bae0 100644
--- a/src/main/groovy/m4e/Pom.groovy
+++ b/src/main/groovy/m4e/Pom.groovy
@@ -208,18 +208,29 @@
     }
     
     Profile profile( String name ) {
-        def profiles = PomUtils.getOrCreate( xml, 'profiles' )
+        def profiles = xml.getChild( 'profiles' )
+        if( ! profiles ) {
+            return null
+        }
+        
         def profile = profiles.getChildren( 'profile' ).find {
             def id = it.getChild( 'id' )
             return id.text == name
         }
 //        println "name=${name} profile=${profile}"
         
+        return profile == null ? null : new Profile( xml: profile, pom: this ) 
+    }
+    
+    Profile getOrCreateProfile( String name ) {
+        def profile = profile( name )
+       
         if( profile ) {
             return new Profile( xml: profile, pom: this )
         }
         
-        return createNewProfile( profiles, name )
+        def profiles = PomUtils.getOrCreate( xml, 'profiles' )
+        return profile == null ? createNewProfile( profiles, name ) : profile
     }
     
     private Profile createNewProfile( Element profiles, String name ) {
diff --git a/src/main/groovy/m4e/patch/ProfileTool.groovy b/src/main/groovy/m4e/patch/ProfileTool.groovy
index b266081..b63be7c 100644
--- a/src/main/groovy/m4e/patch/ProfileTool.groovy
+++ b/src/main/groovy/m4e/patch/ProfileTool.groovy
@@ -38,10 +38,10 @@
     }
     
     void createProfiles() {
-        defaultProfile = pom.profile( defaultProfileName )
+        defaultProfile = pom.getOrCreateProfile( defaultProfileName )
         defaultProfile.activeByDefault( true )
         
-        profile = pom.profile( profileName )
+        profile = pom.getOrCreateProfile( profileName )
     }
     
     Dependency createDependency( PatchDependency replacement ) {