diff --git a/bin/toaster b/bin/toaster
index d20cbe90b..16a64bab6 100755
--- a/bin/toaster
+++ b/bin/toaster
@@ -236,7 +236,7 @@ for param in $*; do
                 manage_cmd="$manage_cmd $param"
             else
                 echo "$HELP"
-                exit 1
+                return 1
             fi
     ;;
 
diff --git a/lib/toaster/orm/fixtures/check_fixtures.py b/lib/toaster/orm/fixtures/check_fixtures.py
index ae3722e0f..386c2da40 100755
--- a/lib/toaster/orm/fixtures/check_fixtures.py
+++ b/lib/toaster/orm/fixtures/check_fixtures.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 #
-# Copyright (C) 2025 Linux Foundation
+# Copyright (C) 2026 Linux Foundation
 # SPDX-License-Identifier: GPL-2.0-only
 #
 
@@ -10,29 +10,52 @@ import urllib.request
 import gen_fixtures as fixtures
 
 RELEASE_URL = https://dashboard.yoctoproject.org/releases.json
+LAYER_INDEX_URL = https://layers.openembedded.org/layerindex/api/branches/
+
+# Load a JSON file via REST
+def fetch_json(url):
+    with urllib.request.urlopen(url) as response:
+        if response.getcode() == 200:
+            data = response.read().decode("utf-8")
+            return(json.loads(data))
+        else:
+            print("Couldn't access %s: %s" % (url, reponse.getcode()))
+            exit(1)
+
+# Grab the existing release branches in the Layer Index
+branches = fetch_json(LAYER_INDEX_URL)
+index_branches = [
+    e["name"].lower() for e in branches
+]
 
-with urllib.request.urlopen(RELEASE_URL) as response:
-    if response.getcode() == 200:
-        data = response.read().decode("utf-8")
-        releases = json.loads(data)
+# Grab the recent release branches and add master, so we can ignore old branches
+releases = fetch_json(RELEASE_URL)
+active_releases = []
+active_but_not_index = []
+for e in releases:
+    if e["series"] != "current":
+        continue
+    release = e["release_codename"].lower()
+    if not release in index_branches:
+        active_but_not_index.append(release)
     else:
-        print("Couldn't access %s: %s" % (RELEASE_URL, reponse.getcode()))
-        exit(1)
-
-
-# grab the recent release branches and add master, so we can ignore old branches
-active_releases = [
-    e["release_codename"].lower() for e in releases if e["series"] == "current"
-]
+        active_releases.append(release)
 active_releases.append("master")
 active_releases.append("head")
+active_releases.sort()
+
+if active_but_not_index:
+    print(f"Note: Active releases that are not yet in the Layer Index: {active_but_not_index}" )
 
+# Get the list of releases instantiated in the Toaster fixtures
 fixtures_releases = [x[0].lower() for x in fixtures.current_releases]
+fixtures_releases.sort()
 
+# Report the resulting status
 if set(active_releases) != set(fixtures_releases):
-    print("WARNING: Active releases don't match toaster configured releases, the difference is: %s" % set(active_releases).difference(set(fixtures_releases)))
-    print("Active releases: %s" % sorted(active_releases))
-    print("Toaster configured releases: %s" % sorted(fixtures_releases))
+    print(f"WARNING: Active releases don't match toaster configured releases, the difference is: {set(active_releases).difference(set(fixtures_releases))}")
+    print(f"Active releases: {sorted(active_releases)}")
+    print(f"Toaster configured releases: {sorted(fixtures_releases)}")
 else:
     print("Success, configuration matches")
 
diff --git a/lib/toaster/orm/fixtures/gen_fixtures.py b/lib/toaster/orm/fixtures/gen_fixtures.py
index dda0b8196..937f1ff88 100755
--- a/lib/toaster/orm/fixtures/gen_fixtures.py
+++ b/lib/toaster/orm/fixtures/gen_fixtures.py
@@ -4,7 +4,7 @@
 #
 # Generate Toaster Fixtures for 'poky.xml' and 'oe-core.xml'
 #
-# Copyright (C) 2022      Wind River Systems
+# Copyright (C) 2026      Wind River Systems
 # SPDX-License-Identifier: GPL-2.0-only
 #
 # Edit the 'current_releases' table for each new release cycle
@@ -413,6 +413,68 @@ def generate_oe_core():
     print_str(epilog_template,fd)
     fd.close()
 
+#################################
+# Update test project list
+#
+
+def generate_test():
+    this_path = os.path.dirname(os.path.abspath(__file__))
+    test_script = os.path.join(this_path,"../../tests/functional/test_create_new_project.py")
+
+    is_copy = True
+    out_lines = ""
+    with open(test_script, 'r') as file_fd:
+        lines = file_fd.readlines()
+        for line in lines:
+            if 'test_create_new_project_without_name' in line:
+                is_copy = True
+                out_lines += '\n'
+            if is_copy:
+                out_lines += line
+            if line.startswith('class TestCreateNewProject'):
+                is_copy = False
+                # Insert new project entries
+
+                for id,release in enumerate(current_releases):
+                    release_id = id + 1
+                    release_name = release[0]
+                    release_merge = 'True'
+                    release_version = ''
+                    if 'Master' == release_name:
+                        release_name = 'Master'
+                        release_title = 'Yocto Project master'
+                        release_merge = 'False'
+                    elif 'HEAD' == release_name:
+                        release_name = 'Local'
+                        release_title = 'Local Yocto Project'
+                    else:
+                        release_title = f'Yocto Project {release[1]} "{release_name}"'
+                        release_version = f'{release[1]} '
+                    # Insert project
+                    test_release_def = f'''
+    def test_create_new_project_{release_name.lower()}(self):
+        """ Test create new project using:
+          - Project Name: Any string
+          - Release: Yocto Project {release_version}"{release_name}" (option value: {release_id})
+          - Merge Toaster settings: {release_merge}
+        """
+        release = '{release_id}'
+        release_title = '{release_title}'
+        project_name = 'project{release_name.lower()}'
+        self.create_new_project(
+            project_name,
+            release,
+            release_title,
+            {release_merge},
+        )
+'''
+                    out_lines += test_release_def
+
+    with open('test_create_new_project.py', 'w') as file_fd:
+        file_fd.write(out_lines)
+    print(f"Output: 'test_create_new_project.py'")
+    os.system(f"mv -f test_create_new_project.py {test_script}")
+
 #################################
 # Help
 #
@@ -431,8 +493,9 @@ def main(argv):
     global verbose
 
     parser = argparse.ArgumentParser(description='gen_fixtures.py: table generate the fixture files')
-    parser.add_argument('--poky', '-p', action='store_const', const='poky', dest='command', help='Generate the poky.xml file')
-    parser.add_argument('--oe-core', '-o', action='store_const', const='oe_core', dest='command', help='Generate the oe-core.xml file')
+    parser.add_argument('--poky', '-p', action='store_const', const='poky', dest='command', help="Generate the 'poky.xml' file")
+    parser.add_argument('--oe-core', '-o', action='store_const', const='oe_core', dest='command', help="Generate the 'oe-core.xml' file")
+    parser.add_argument('--test', '-t', action='store_const', const='test', dest='command', help="Update the 'test_create_new_project.py' file")
     parser.add_argument('--all', '-a', action='store_const', const='all', dest='command', help='Generate all fixture files')
     parser.add_argument('--list', '-l', action='store_const', const='list', dest='command', help='List the release table')
     parser.add_argument('--verbose', '-v', action='store_true', dest='verbose', help='Enable verbose debugging output')
@@ -443,11 +506,12 @@ def main(argv):
         generate_poky()
     elif 'oe_core' == args.command:
         generate_oe_core()
+    elif 'test' == args.command:
+        generate_test()
     elif 'all' == args.command:
         generate_poky()
         generate_oe_core()
-    elif 'all' == args.command:
-        list_releases()
+        generate_test()
     elif 'list' == args.command:
         list_releases()
 
diff --git a/lib/toaster/tests/functional/test_create_new_project.py b/lib/toaster/tests/functional/test_create_new_project.py
index 6e22bdee3..f290f8b3e 100644
--- a/lib/toaster/tests/functional/test_create_new_project.py
+++ b/lib/toaster/tests/functional/test_create_new_project.py
@@ -15,31 +15,31 @@ from selenium.webdriver.common.by import By
 
 class TestCreateNewProject(SeleniumFunctionalTestCase):
 
-    def test_create_new_project_master(self):
+    def test_create_new_project_wrynose(self):
         """ Test create new project using:
           - Project Name: Any string
-          - Release: Yocto Project master (option value: 3)
-          - Merge Toaster settings: False
+          - Release: Yocto Project 6.0 "Wrynose" (option value: 1)
+          - Merge Toaster settings: True
         """
-        release = '3'
-        release_title = 'Yocto Project master'
-        project_name = 'projectmaster'
+        release = '1'
+        release_title = 'Yocto Project 6.0 "Wrynose"'
+        project_name = 'projectwrynose'
         self.create_new_project(
             project_name,
             release,
             release_title,
-            False,
+            True,
         )
 
-    def test_create_new_project_wrynose(self):
+    def test_create_new_project_local(self):
         """ Test create new project using:
           - Project Name: Any string
-          - Release: Yocto Project 6.0 "Wrynose" (option value: 1)
+          - Release: Yocto Project "Local" (option value: 2)
           - Merge Toaster settings: True
         """
-        release = '1'
-        release_title = 'Yocto Project 6.0 "Wrynose"'
-        project_name = 'projectwrynose'
+        release = '2'
+        release_title = 'Local Yocto Project'
+        project_name = 'projectlocal'
         self.create_new_project(
             project_name,
             release,
@@ -47,32 +47,31 @@ class TestCreateNewProject(SeleniumFunctionalTestCase):
             True,
         )
 
-
-    def test_create_new_project_scarthgap(self):
+    def test_create_new_project_master(self):
         """ Test create new project using:
           - Project Name: Any string
-          - Release: Yocto Project 5.0 "Scarthgap" (option value: 4)
-          - Merge Toaster settings: True
+          - Release: Yocto Project "Master" (option value: 3)
+          - Merge Toaster settings: False
         """
-        release = '4'
-        release_title = 'Yocto Project 5.0 "Scarthgap"'
-        project_name = 'projectscarthgap'
+        release = '3'
+        release_title = 'Yocto Project master'
+        project_name = 'projectmaster'
         self.create_new_project(
             project_name,
             release,
             release_title,
-            True,
+            False,
         )
 
-    def test_create_new_project_local(self):
+    def test_create_new_project_scarthgap(self):
         """ Test create new project using:
           - Project Name: Any string
-          - Release: Local Yocto Project (option value: 2)
+          - Release: Yocto Project 5.0 "Scarthgap" (option value: 4)
           - Merge Toaster settings: True
         """
-        release = '2'
-        release_title = 'Local Yocto Project'
-        project_name = 'projectlocal'
+        release = '4'
+        release_title = 'Yocto Project 5.0 "Scarthgap"'
+        project_name = 'projectscarthgap'
         self.create_new_project(
             project_name,
             release,
