diff --git a/maven-failsafe-plugin/src/main/java/org/apache/maven/plugin/failsafe/IntegrationTestMojo.java b/maven-failsafe-plugin/src/main/java/org/apache/maven/plugin/failsafe/IntegrationTestMojo.java
index d77b3cf..2a207c8 100644
--- a/maven-failsafe-plugin/src/main/java/org/apache/maven/plugin/failsafe/IntegrationTestMojo.java
+++ b/maven-failsafe-plugin/src/main/java/org/apache/maven/plugin/failsafe/IntegrationTestMojo.java
@@ -318,7 +318,7 @@
      * outputted (search for "To reproduce ordering use flag -Dfailsafe.runOrder.random.seed").
      * <br>
      * <br>
-     * To deterministically reproduce any random test order that was run before, simply set the seed to 
+     * To deterministically reproduce any random test order that was run before, simply set the seed to
      * be the same value.
      *
      * @since 3.0.0-M6
@@ -391,10 +391,10 @@
     private String shutdown;
 
     /**
-     * Disables modular path (aka Jigsaw project since of Java 9) even if <i>module-info.java</i> is used in project.
+     * When {@code true}, uses the modulepath when executing with JDK 9+ and <i>module-info.java</i> is
+     * present. When {@code false}, always uses the classpath.
      * <br>
-     * Enabled by default.
-     * If enabled, <i>module-info.java</i> exists and executes with JDK 9+, modular path is used.
+     * Defaults to {@code true}.
      *
      * @since 3.0.0-M2
      */
diff --git a/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java b/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java
index 34ed33c..cd260c1 100644
--- a/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java
+++ b/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java
@@ -300,7 +300,7 @@
      * outputted (search for "To reproduce ordering use flag -Dsurefire.runOrder.random.seed").
      * <br>
      * <br>
-     * To deterministically reproduce any random test order that was run before, simply set the seed to 
+     * To deterministically reproduce any random test order that was run before, simply set the seed to
      * be the same value.
      *
      * @since 3.0.0-M6
@@ -371,10 +371,10 @@
     private String shutdown;
 
     /**
-     * Disables modular path (aka Jigsaw project since of Java 9) even if <i>module-info.java</i> is used in project.
+     * When {@code true}, uses the modulepath when executing with JDK 9+ and <i>module-info.java</i> is
+     * present. When {@code false}, always uses the classpath.
      * <br>
-     * Enabled by default.
-     * If enabled, <i>module-info.java</i> exists and executes with JDK 9+, modular path is used.
+     * Defaults to {@code true}.
      *
      * @since 3.0.0-M2
      */
@@ -492,7 +492,7 @@
     {
         return "https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report-3.0.xsd";
     }
-    
+
 
     public File getSystemPropertiesFile()
     {
