diff --git a/src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java b/src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java
index 076a2c6..703b9aa 100644
--- a/src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java
+++ b/src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java
@@ -859,11 +859,14 @@
             {
                 // MCOMPILER-366: if sources contain the module-descriptor it must be used to define the modulepath
                 sources = getCompileSources( compiler, compilerConfiguration );
-                
-                getLog().debug( "#sources: " + sources.size() );
-                for ( File file : sources )
+
+                if ( getLog().isDebugEnabled() )
                 {
-                    getLog().debug( file.getPath() );
+                    getLog().debug( "#sources: " + sources.size() );
+                    for ( File file : sources )
+                    {
+                        getLog().debug( file.getPath() );
+                    }
                 }
 
                 preparePaths( sources );
@@ -960,7 +963,7 @@
                 }
 
                 String[] cl = compiler.createCommandLine( compilerConfiguration );
-                if ( getLog().isDebugEnabled() && cl != null && cl.length > 0 )
+                if ( cl != null && cl.length > 0 )
                 {
                     StringBuilder sb = new StringBuilder();
                     sb.append( cl[0] );
