diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py
index 544081053..c2e6561ec 100644
--- a/lib/bb/runqueue.py
+++ b/lib/bb/runqueue.py
@@ -154,7 +154,7 @@ class RunQueueScheduler(object):
         self.rqdata = rqdata
         self.numTasks = len(self.rqdata.runtaskentries)
 
-        self.prio_map = [self.rqdata.runtaskentries.keys()]
+        self.prio_map = list(self.rqdata.runtaskentries.keys())
 
         self.buildable = set()
         self.skip_maxthread = {}
diff --git a/lib/bb/tests/runqueue.py b/lib/bb/tests/runqueue.py
index 74f5ded2e..42c02cd15 100644
--- a/lib/bb/tests/runqueue.py
+++ b/lib/bb/tests/runqueue.py
@@ -63,6 +63,15 @@ class RunQueueTests(unittest.TestCase):
 
             self.shutdown(tempdir)
 
+    def test_basic_scheduler(self):
+        with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir:
+            cmd = ["bitbake", "a1"]
+            tasks = self.run_bitbakecmd(cmd, tempdir, extraenv={"BB_SCHEDULER": "basic"})
+            expected = ['a1:' + task for task in self.alltasks]
+            self.assertEqual(set(tasks), set(expected))
+
+            self.shutdown(tempdir)
+
     def test_single_setscenevalid(self):
         with tempfile.TemporaryDirectory(prefix="runqueuetest") as tempdir:
             cmd = ["bitbake", "a1"]
