diff --git a/compiler/plugin/maven/src/main/java/org/onosproject/yang/compiler/plugin/maven/YangUtilManager.java b/compiler/plugin/maven/src/main/java/org/onosproject/yang/compiler/plugin/maven/YangUtilManager.java
index 42e24c8..46b0205 100644
--- a/compiler/plugin/maven/src/main/java/org/onosproject/yang/compiler/plugin/maven/YangUtilManager.java
+++ b/compiler/plugin/maven/src/main/java/org/onosproject/yang/compiler/plugin/maven/YangUtilManager.java
@@ -49,13 +49,11 @@
 import static org.onosproject.yang.compiler.utils.UtilConstants.IN;
 import static org.onosproject.yang.compiler.utils.UtilConstants.SLASH;
 import static org.onosproject.yang.compiler.utils.UtilConstants.TEMP;
-import static org.onosproject.yang.compiler.utils.UtilConstants.VERSION_ERROR;
 import static org.onosproject.yang.compiler.utils.UtilConstants.YANG_RESOURCES;
 import static org.onosproject.yang.compiler.utils.io.impl.YangFileScanner.getYangFiles;
 import static org.onosproject.yang.compiler.utils.io.impl.YangIoUtils.deleteDirectory;
 import static org.onosproject.yang.compiler.utils.io.impl.YangIoUtils.getDirectory;
 import static org.onosproject.yang.compiler.utils.io.impl.YangIoUtils.getPackageDirPathFromJavaJPackage;
-import static org.onosproject.yang.compiler.utils.io.impl.YangIoUtils.getVersionValue;
 
 /**
  * Represents ONOS YANG utility maven plugin.
@@ -67,7 +65,6 @@
         requiresDependencyResolution = COMPILE)
 public class YangUtilManager extends AbstractMojo {
 
-    private static final int SUPPORTED_VERSION = 339;
     private String codeGenDir;
     private YangCompiledOutput output;
 
@@ -147,7 +144,6 @@
         String metaDataGenDir;
         String outputDir;
         try {
-            validateMavenVersion();
             /*
              * For deleting the generated code in previous build.
              */
@@ -215,16 +211,4 @@
                     "Failed to process files");
         }
     }
-
-    /**
-     * Validates current maven version of system.
-     *
-     * @throws MojoExecutionException when maven version is below 3.3.9
-     */
-    private void validateMavenVersion() throws MojoExecutionException {
-        String version = runtime.getMavenVersion();
-        if (getVersionValue(version) < SUPPORTED_VERSION) {
-            throw new MojoExecutionException(VERSION_ERROR + version);
-        }
-    }
 }
