diff --git a/Deploy/deploy.cpp b/Deploy/deploy.cpp
index 44a8fc1..2cb8fde 100644
--- a/Deploy/deploy.cpp
+++ b/Deploy/deploy.cpp
@@ -52,12 +52,18 @@ bool Deploy::prepare() {
 
 int Deploy::deploy() {
 
-    if (DeployCore::getMode() != RunMode::Deploy) {
-        return 0;
-    }
-
     _fileManager->loadDeployemendFiles(_paramsParser->config()->targetDir);
-    _extracter->deploy();
+
+    switch (DeployCore::getMode() ) {
+    case RunMode::Deploy:
+        _extracter->deploy();
+        break;
+    case RunMode::Clear:
+        _extracter->clear();
+        break;
+    default:
+        break;
+    }
     _fileManager->saveDeploymendFiles(_paramsParser->config()->targetDir);
 
     return 0;
diff --git a/Deploy/extracter.h b/Deploy/extracter.h
index 18ea740..0758215 100644
--- a/Deploy/extracter.h
+++ b/Deploy/extracter.h
@@ -50,7 +50,6 @@ class DEPLOYSHARED_EXPORT Extracter {
     void extractAllTargets();
 
     void initQtModules();
-    void clear();
 
     void extractPlugins();
 
@@ -66,6 +65,7 @@ public:
     explicit Extracter(FileManager *fileManager, ConfigParser * cqt);
     bool createRunScript(const QString &target);
     void deploy();
+    void clear();
 
     friend class deploytest;
 };