diff --git a/src/main/java/me/legrange/mikrotik/ApiConnection.java b/src/main/java/me/legrange/mikrotik/ApiConnection.java
index <HASH>..<HASH> 100644
--- a/src/main/java/me/legrange/mikrotik/ApiConnection.java
+++ b/src/main/java/me/legrange/mikrotik/ApiConnection.java
@@ -429,8 +429,10 @@ public class ApiConnection {
 
         private List<Result> getResults() throws ApiCommandException, ApiConnectionException {
             try {
-                synchronized (this) {
-                    wait();
+                synchronized (this) { // don't wait if we already have a result. 
+                    if ((err == null) && results.isEmpty()) {
+                        wait();
+                    }
                 }
             } catch (InterruptedException ex) {
                 throw new ApiConnectionException(ex.getMessage(), ex);
Fixed possible race condition in short-lived synchrynous commands