diff --git a/nbm-maven-plugin/pom.xml b/nbm-maven-plugin/pom.xml
index 59043f6..0999b75 100644
--- a/nbm-maven-plugin/pom.xml
+++ b/nbm-maven-plugin/pom.xml
@@ -448,7 +448,7 @@
         <dependency>
             <groupId>org.apache.maven.shared</groupId>
             <artifactId>maven-dependency-analyzer</artifactId>
-            <version>1.10</version>
+            <version>1.11.1</version>
         </dependency>
         <!-- maven dependecy analyser version 1.8 will have the correct dependency -->
         <dependency>
diff --git a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateClusterAppMojo.java b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateClusterAppMojo.java
index e4e39c5..75ea55d 100644
--- a/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateClusterAppMojo.java
+++ b/nbm-maven-plugin/src/main/java/org/netbeans/nbm/CreateClusterAppMojo.java
@@ -398,7 +398,16 @@
                                             //ex.setPopulateDependencies( true );
                                             ex.checkFile();
                                             if (ex.isOsgiBundle()) {
-                                                wrappedBundleCNBs.add( ex.getModule() );
+                                                if ( (art.getId().contains("org.netbeans.modules:org-netbeans-modules-maven-embedder") || 
+                                                     (art.getId().contains("org.apache.netbeans.modules:org-netbeans-modules-maven-embedder")) 
+                                                {
+                                                    // in this case we dont want module-maven-embedder to be considered as wrapper for his libs                                                     
+                                                    // guava is provided but ide have it also 
+                                                } else 
+                                                {
+                                                    getLog().info(ex.getModule() + " added by " + art.getId() + "" + classpathFile);
+                                                    wrappedBundleCNBs.add(ex.getModule());
+                                                }
                                             }
                                         }
                                     }
