diff --git a/src/Bernard/Driver/IronMqDriver.php b/src/Bernard/Driver/IronMqDriver.php
index <HASH>..<HASH> 100644
--- a/src/Bernard/Driver/IronMqDriver.php
+++ b/src/Bernard/Driver/IronMqDriver.php
@@ -90,24 +90,19 @@ class IronMqDriver extends AbstractPrefetchDriver
             return $message;
         }
 
-        $runtime = microtime(true) + $interval;
-
-        while ($runtime > microtime(true)) {
-            $messages = $this->ironmq->getMessages($queueName, $this->prefetch);
-
-            if (!$messages) {
-                usleep(10000);
-                continue;
-            }
+        $messages = $this->ironmq->getMessages(
+            $queueName, $this->prefetch, IronMQ::GET_MESSAGE_TIMEOUT, $interval
+        );
 
-            foreach ($messages as $message) {
-                $this->cache->push($queueName, array($message->body, $message->id));
-            }
+        if (!$messages) {
+            return array(null, null);
+        }
 
-            return $this->cache->pop($queueName);
+        foreach ($messages as $message) {
+            $this->cache->push($queueName, array($message->body, $message->id));
         }
 
-        return array(null, null);
+        return $this->cache->pop($queueName);
     }
 
     /**
Use long polling when popping messages in IronMqDriver (#<I>)