diff --git a/src/Console/Commands/Compose.php b/src/Console/Commands/Compose.php
index a7769eb4..7aa4860d 100644
--- a/src/Console/Commands/Compose.php
+++ b/src/Console/Commands/Compose.php
@@ -45,12 +45,13 @@ protected function execute(InputInterface $input, OutputInterface $output)
         $this->replacer = new Replacer($workingDir, $config);
 
         $packages = $this->findPackages($config->packages);
+        $namespacesToSkip = $this->config->namespaces_to_skip ?? [];
 
         $this->movePackages($packages);
-        $this->replacePackages($packages);
+        $this->replacePackages($packages, $namespacesToSkip);
 
         foreach ($packages as $package) {
-            $this->replacer->replaceParentPackage($package, null);
+            $this->replacer->replaceParentPackage($package, null, $namespacesToSkip);
         }
 
         return 0;
@@ -75,10 +76,10 @@ protected function movePackages($packages)
      * @param $config
      * @param array $packages
      */
-    protected function replacePackages($packages)
+    protected function replacePackages($packages, array $namespacesToSkip)
     {
         foreach ($packages as $package) {
-            $this->replacePackage($package);
+            $this->replacePackage($package, $namespacesToSkip);
         }
     }
 
@@ -99,15 +100,15 @@ public function movePackage($package)
     /**
      * Replace contents of all the packages, one by one, starting on the deepest level of dependencies.
      */
-    public function replacePackage($package)
+    public function replacePackage($package, array $namespacesToSkip)
     {
         if (! empty($package->dependencies)) {
             foreach ($package->dependencies as $dependency) {
-                $this->replacePackage($dependency);
+                $this->replacePackage($dependency, $namespacesToSkip);
             }
         }
 
-        $this->replacer->replacePackage($package);
+        $this->replacer->replacePackage($package, $namespacesToSkip);
     }
 
     /**
diff --git a/src/Replace/BaseReplacer.php b/src/Replace/BaseReplacer.php
index f0d17f46..3dd875b9 100644
--- a/src/Replace/BaseReplacer.php
+++ b/src/Replace/BaseReplacer.php
@@ -8,9 +8,14 @@ abstract class BaseReplacer implements Replacer
 {
     /** @var Autoloader */
     public $autoloader;
+    public $namespacesToSkip;
 
     public function setAutoloader($autoloader)
     {
         $this->autoloader = $autoloader;
     }
+    public function setNamespacesToSkip(array $namespacesToSkip)
+    {
+        $this->namespacesToSkip = $namespacesToSkip;
+    }
 }
diff --git a/src/Replace/ClassmapReplacer.php b/src/Replace/ClassmapReplacer.php
index fddec0a3..53362165 100644
--- a/src/Replace/ClassmapReplacer.php
+++ b/src/Replace/ClassmapReplacer.php
@@ -15,6 +15,13 @@ public function replace($contents)
         return preg_replace_callback(
             '/(?:[abstract]*class |interface )([a-zA-Z\_]+)(?:[ \n]*{| extends| implements)/U',
             function ($matches) {
+                // If it matches any of the namespaces to skip, then do nothing
+                $namespacesToSkip = $this->namespacesToSkip ?? [];
+                foreach ($namespacesToSkip as $namespaceToSkip) {
+                    if (strlen($matches[1]) >= strlen($namespaceToSkip) && substr($matches[1], 0, strlen($namespaceToSkip)) == $namespaceToSkip) {
+                        return $matches[0];
+                    }
+                }
                 $replace = $this->classmap_prefix . $matches[1];
                 $this->saveReplacedClass($matches[1], $replace);
                 return str_replace($matches[1], $replace, $matches[0]);
diff --git a/src/Replace/NamespaceReplacer.php b/src/Replace/NamespaceReplacer.php
index 7bdc8b5c..f3d347d1 100644
--- a/src/Replace/NamespaceReplacer.php
+++ b/src/Replace/NamespaceReplacer.php
@@ -13,6 +13,13 @@ public function replace($contents)
         return preg_replace_callback(
             '/([^\\?])(' . addslashes($searchNamespace) . '[\\\|;])/U',
             function ($matches) {
+                // If it matches any of the namespaces to skip, then do nothing
+                $namespacesToSkip = $this->namespacesToSkip ?? [];
+                foreach ($namespacesToSkip as $namespaceToSkip) {
+                    if (strlen($matches[2]) >= strlen($namespaceToSkip) && substr($matches[2], 0, strlen($namespaceToSkip)) == $namespaceToSkip) {
+                        return $matches[1] . $matches[2];
+                    }
+                }
                 return $matches[1] . $this->dep_namespace . $matches[2];
             },
             $contents
diff --git a/src/Replace/Replacer.php b/src/Replace/Replacer.php
index c803ff65..f3c5f757 100644
--- a/src/Replace/Replacer.php
+++ b/src/Replace/Replacer.php
@@ -5,5 +5,6 @@
 interface Replacer
 {
     public function setAutoloader($autoloader);
+    public function setNamespacesToSkip(array $namespacesToSkip);
     public function replace($contents);
 }
diff --git a/src/Replacer.php b/src/Replacer.php
index 3f8d8470..0a18d49b 100644
--- a/src/Replacer.php
+++ b/src/Replacer.php
@@ -37,10 +37,10 @@ public function __construct($workingDir, $config)
         $this->filesystem = new Filesystem(new Local($this->workingDir));
     }
 
-    public function replacePackage(Package $package)
+    public function replacePackage(Package $package, array $namespacesToSkip)
     {
         foreach ($package->autoloaders as $autoloader) {
-            $this->replacePackageByAutoloader($package, $autoloader);
+            $this->replacePackageByAutoloader($package, $autoloader, $namespacesToSkip);
         }
     }
 
@@ -48,7 +48,7 @@ public function replacePackage(Package $package)
      * @param $targetFile
      * @param $autoloader
      */
-    public function replaceInFile($targetFile, $autoloader)
+    public function replaceInFile($targetFile, $autoloader, array $namespacesToSkip)
     {
         $targetFile = str_replace($this->workingDir, '', $targetFile);
         $contents = $this->filesystem->read($targetFile);
@@ -62,6 +62,7 @@ public function replaceInFile($targetFile, $autoloader)
         }
 
         $replacer->setAutoloader($autoloader);
+        $replacer->setNamespacesToSkip($namespacesToSkip);
         $contents = $replacer->replace($contents);
 
         if ($replacer instanceof ClassmapReplacer) {
@@ -75,11 +76,11 @@ public function replaceInFile($targetFile, $autoloader)
      * @param Package $package
      * @param $autoloader
      */
-    public function replacePackageByAutoloader(Package $package, $autoloader)
+    public function replacePackageByAutoloader(Package $package, $autoloader, array $namespacesToSkip)
     {
         if ($autoloader instanceof NamespaceAutoloader) {
             $source_path = $this->workingDir . $this->targetDir . str_replace('\\', '/', $autoloader->namespace) . '/';
-            $this->replaceInDirectory($autoloader, $source_path);
+            $this->replaceInDirectory($autoloader, $namespacesToSkip, $source_path);
         } elseif ($autoloader instanceof Classmap) {
             $finder = new Finder();
             $source_path = $this->workingDir . $this->config->classmap_directory . '/' . $package->config->name;
@@ -89,7 +90,7 @@ public function replacePackageByAutoloader(Package $package, $autoloader)
                 $targetFile = $foundFile->getRealPath();
 
                 if ('.php' == substr($targetFile, '-4', 4)) {
-                    $this->replaceInFile($targetFile, $autoloader);
+                    $this->replaceInFile($targetFile, $autoloader, $namespacesToSkip);
                 }
             }
         }
@@ -126,7 +127,7 @@ public function replaceParentClassesInDirectory($directory)
      * @param $autoloader
      * @param $directory
      */
-    public function replaceInDirectory($autoloader, $directory)
+    public function replaceInDirectory($autoloader, array $namespacesToSkip, $directory)
     {
         $finder = new Finder();
         $finder->files()->in($directory);
@@ -135,12 +136,12 @@ public function replaceInDirectory($autoloader, $directory)
             $targetFile = $file->getPathName();
 
             if ('.php' == substr($targetFile, '-4', 4)) {
-                $this->replaceInFile($targetFile, $autoloader);
+                $this->replaceInFile($targetFile, $autoloader, $namespacesToSkip);
             }
         }
     }
 
-    public function replaceParentPackage(Package $package, $parent)
+    public function replaceParentPackage(Package $package, $parent, array $namespacesToSkip)
     {
         if ($parent !== null) {
             // Replace everything in parent, based on the dependencies
@@ -151,7 +152,7 @@ public function replaceParentPackage(Package $package, $parent)
                         $directory = $this->workingDir . $this->config->dep_directory . $namespace . '/';
 
                         if ($autoloader instanceof NamespaceAutoloader) {
-                            $this->replaceInDirectory($autoloader, $directory);
+                            $this->replaceInDirectory($autoloader, $namespacesToSkip, $directory);
                         } else {
                             $directory = str_replace($this->workingDir, '', $directory);
                             $this->replaceParentClassesInDirectory($directory);
@@ -160,7 +161,7 @@ public function replaceParentPackage(Package $package, $parent)
                         $directory = $this->workingDir . $this->config->classmap_directory . $parent->config->name;
 
                         if ($autoloader instanceof NamespaceAutoloader) {
-                            $this->replaceInDirectory($autoloader, $directory);
+                            $this->replaceInDirectory($autoloader, $namespacesToSkip, $directory);
                         } else {
                             $directory = str_replace($this->workingDir, '', $directory);
                             $this->replaceParentClassesInDirectory($directory);
@@ -172,7 +173,7 @@ public function replaceParentPackage(Package $package, $parent)
 
         if (! empty($package->dependencies)) {
             foreach ($package->dependencies as $dependency) {
-                $this->replaceParentPackage($dependency, $package);
+                $this->replaceParentPackage($dependency, $package, $namespacesToSkip);
             }
         }
     }
diff --git a/tests/replacers/NamespaceReplacerTest.php b/tests/replacers/NamespaceReplacerTest.php
index 0cf3813e..12a440b1 100644
--- a/tests/replacers/NamespaceReplacerTest.php
+++ b/tests/replacers/NamespaceReplacerTest.php
@@ -17,6 +17,7 @@ protected function setUp(): void
 
         $replacer = new NamespaceReplacer();
         $replacer->setAutoloader($autoloader);
+        $replacer->setNamespacesToSkip([]);
         $replacer->dep_namespace = 'Prefix\\';
         $this->replacer = $replacer;
     }
@@ -39,6 +40,7 @@ public function it_doesnt_replaces_namespace_inside_namespace(): void
 
         $replacer = new NamespaceReplacer();
         $replacer->setAutoloader($autoloader);
+        $replacer->setNamespacesToSkip([]);
         $replacer->dep_namespace = 'Prefix\\';
         $this->replacer = $replacer;