diff --git a/app/src/main/java/ohi/andre/consolelauncher/MainManager.java b/app/src/main/java/ohi/andre/consolelauncher/MainManager.java
index a78f237f55b1d39349056e096fae5038e2706daa..fcdedef64b5295b817249b1aa45408d8c1867d5b 100755
--- a/app/src/main/java/ohi/andre/consolelauncher/MainManager.java
+++ b/app/src/main/java/ohi/andre/consolelauncher/MainManager.java
@@ -239,21 +239,27 @@ public class MainManager {
 
                     try {
                         Command command = CommandTuils.parse(input, info, false);
-                        if (command != null) {
+
+                        synchronized (returnValue) {
+                            returnValue[0] = command != null;
+                            returnValue.notify();
+                        }
+
+                        if (returnValue[0]) {
                             out.onOutput(command.exec(info), id);
-                            returnValue[0] = true;
-                        } else
-                            returnValue[0] = false;
+                        }
                     } catch (Exception e) {
                         out.onOutput(e.toString(), id);
                     }
                 }
             };
 
-            t.run();
-            t.join();
+            t.start();
 
-            return returnValue[0];
+            synchronized (returnValue) {
+                returnValue.wait();
+                return returnValue[0];
+            }
         }
     }
 }