Index: src/main/java/org/codehaus/plexus/archiver/war/WarArchiver.java
===================================================================
--- src/main/java/org/codehaus/plexus/archiver/war/WarArchiver.java	(revision 8744)
+++ src/main/java/org/codehaus/plexus/archiver/war/WarArchiver.java	(working copy)
@@ -60,7 +60,14 @@
      */
     private boolean descriptorAdded;
 
+    /**
+     * flag set if the descriptor is found
+     */
+    private boolean descriptorFound = false;
+    
+    
     public void setIgnoreWebxml( boolean ignore ) {
         ignoreWebxml = ignore;
     }
 
@@ -154,27 +163,33 @@
     /**
      * Overridden from ZipArchiver class to deal with web.xml
      */
-    protected void zipFile( ArchiveEntry entry, ZipOutputStream zOut, String vPath, int mode )
+    protected void zipFile( ArchiveEntry entry, ZipOutputStream zOut, String vPath )
         throws IOException, ArchiverException
     {
         // If the file being added is WEB-INF/web.xml, we warn if it's
         // not the one specified in the "webxml" attribute - or if
         // it's being added twice, meaning the same file is specified
         // by the "webxml" attribute and in a <fileset> element.
         if ( vPath.equalsIgnoreCase( "WEB-INF/web.xml" ) )
         {
-             if ( descriptorAdded || ( ignoreWebxml
+             if ( descriptorAdded || descriptorFound || ( ignoreWebxml
                  && ( deploymentDescriptor == null
                      || !ResourceUtils.isCanonicalizedSame( entry.getResource(), deploymentDescriptor ) ) ) )
             {
-                getLogger().warn( "Warning: selected " + archiveType
-                                  + " files include a WEB-INF/web.xml which will be ignored "
-                                  + "\n(webxml attribute is missing from "
-                                  + archiveType + " task, or ignoreWebxml attribute is specified as 'true')" );
+            	if (!descriptorAdded) {
+            		getLogger().warn( "Warning: selected " + archiveType
+                                  	+ " files include a WEB-INF/web.xml which will be ignored "
+                                  	+ "\n(webxml attribute is missing from "
+                                  	+ archiveType + " task, or ignoreWebxml attribute is specified as 'true')" );
+            	}
             }
             else
             {
                 super.zipFile( entry, zOut, vPath );
+                descriptorFound = true;
                 descriptorAdded = true;
             }
         }
