diff --git a/src/Modules/Db.py b/src/Modules/Db.py
index 88a18f77dc280cc7d14e4ed40a38e0908aab717a..8e3a1108bb330a3b6e37caf79eb80a6b761bd77b 100644
--- a/src/Modules/Db.py
+++ b/src/Modules/Db.py
@@ -1487,12 +1487,19 @@ class Batch(Db) :
         @rtype: triple
         """
 
+        # To optimize this query, make sure to have two indices on the
+        # table:
+        # - UNIQUE INDEX (QueueID)
+        # - INDEX (JobID, QueueID)
         statement = """
             SELECT QueueID, Input, Flags
-              FROM BatchQueue
-              WHERE JobID = %s
-              ORDER BY QueueID
-              LIMIT 1;
+            FROM BatchQueue
+            WHERE QueueID = (
+                SELECT MIN(QueueID)
+                FROM BatchQueue
+                GROUP BY JobID
+                HAVING JobID = %s
+            );
         """, jobID
 
         results = self.query(statement)