diff --git a/nodequeue.module b/nodequeue.module
index 70bc9fd..d630888 100644
--- a/nodequeue.module
+++ b/nodequeue.module
@@ -1687,25 +1687,32 @@ function nodequeue_get_qids($type, $account = NULL, $bypass_cache = FALSE) {
  * @param $bypass_cache
  *   Boolean value indicating whether to bypass the cache or not.
  */
-function nodequeue_get_all_qids($page_size = 25, $pager_element = 0, $bypass_cache = FALSE) {
+function nodequeue_get_all_qids($page_size = 0, $pager_element = 0, $bypass_cache = FALSE) {
   static $cache = NULL;
-  if ($bypass_cache || !isset($cache)) {
-    $result = db_select('nodequeue_queue', 'nq')
-      ->extend('PagerDefault')
-      ->extend('TableSort')
-      ->fields('nq', array('qid'))
-      ->limit($page_size)
-      ->execute();
-
+  if ($bypass_cache || !isset($cache[$page_size])) {
+    if ($page_size) {
+      $result = db_select('nodequeue_queue', 'nq')
+        ->extend('PagerDefault')
+        ->extend('TableSort')
+        ->fields('nq', array('qid'))
+        ->limit($page_size)
+        ->execute();
+    }
+    else {
+      $result = db_select('nodequeue_queue', 'nq')
+        ->extend('TableSort')
+        ->fields('nq', array('qid'))
+        ->execute();
+    }
     $qids = array();
     if (!empty($result)) {
       foreach ($result as $qid) {
         $qids[$qid->qid] = $qid->qid;
       }
     }
-    $cache = $qids;
+    $cache[$page_size] = $qids;
   }
-  return $cache;
+  return $cache[$page_size];
 }
 
 /**
