diff --git a/.ci/generateIndex.py b/.ci/generateIndex.py
index c27d9bd39bb57328125775e64ae6114be2688530..4dcff3ab01c7f35088bb39ff60da80a449352c1b 100644
--- a/.ci/generateIndex.py
+++ b/.ci/generateIndex.py
@@ -182,6 +182,9 @@ for folder in cardDirs:
                 indexS = sections.index(d)
                 maxOrder = 0
 
+                # reset the ordering array per section
+                orderArr[indexS] = []
+
                 if len(localIndexArr[indexS]) == 0:
                     localIndexArr[indexS] = ["\n"]
 
@@ -294,7 +297,7 @@ for folder in cardDirs:
 
                 # join all subcategories to the index
                 # if all subcategories have a predefined order
-                if len(orderArr[indexS]) == len(localIndexArr[indexS]) and len(orderArr[indexS]) > 0:
+                if len(orderArr[indexS]) <= len(localIndexArr[indexS]) and len(orderArr[indexS]) > 0:
                     X = localIndexArr[indexS][1:]
                     Y = orderArr[indexS]
                     localIndexArr[indexS] = [x for _, x in sorted(zip(Y, X))]