diff --git a/.ci/generateIndex.py b/.ci/generateIndex.py
index 1175daef65c8146421a6b670db09742bac9ae67b..162523568ff4c0aaef151d55b378371c089a6042 100644
--- a/.ci/generateIndex.py
+++ b/.ci/generateIndex.py
@@ -42,16 +42,39 @@ def build_section_start(title, shortcut):
 def build_section_end():
     return "\t\t</ul>\n\t</div>"
 
-def remove_header(localroot, root, filename):
-    nfirstlines = []
+def save_legacy_from(localroot, root, filename):
+    legacy_from = []
+    os.chdir(root)
+
+    # count the number of lines
+    count = 0
+    headerCheck = False
+    legacy_from_flag = False
+    with open(filename, 'r') as f:
+        for line in f:
+            count += 1
+            if line[0:12] == "legacy_from:":
+                legacy_from_flag = True
+                #legacy_from_line_start = count
 
-    #cwd = os.getcwd()
+            if legacy_from_flag and line[0:12]:
+                legacy_from.append(line)
 
+            if legacy_from_flag and line[0:3] == "---":
+               #legacy_from_line_end = count
+               legacy_from_flag = False
+
+    print(legacy_from)
+
+    # change back to the local root
     os.chdir(localroot)
-    #print("Local root folder:" + os.getcwd())
+
+    return legacy_from
+
+def remove_header(localroot, root, filename):
+    nfirstlines = []
 
     os.chdir(root)
-    #print("Local folder:" + os.getcwd())
 
     # count the number of lines
     count = 0
@@ -66,7 +89,7 @@ def remove_header(localroot, root, filename):
                 n = count
 
     # remove the header
-    if count > n and headerCheck:
+    if headerCheck:
         with open(filename) as f, open("tmp"+filename, "w") as out:
             for _ in range(n):
                 nfirstlines.append(next(f))
@@ -79,7 +102,6 @@ def remove_header(localroot, root, filename):
 
     # change back to the local root
     os.chdir(localroot)
-    #print("exit folder:" + os.getcwd())
 
 # loop through the entire internal tree
 localroot = os.getcwd()
@@ -138,6 +160,9 @@ for folder in cardDirs:
                             if file[0] != "_":
                                 print(" > Generating header for: " + fileName)
 
+                                # save legacy from
+                                legacy_from = save_legacy_from(localroot, root, file)
+
                                 # remove the previous header
                                 if "handbook-annexes" in fileName or "handbook-additional" in fileName:
                                     remove_header(localroot, root, file)
@@ -170,7 +195,11 @@ for folder in cardDirs:
                                     header += "  - /cards/" + root_handbook(shortcut) + "\n"
                                     header += "  - /" + folder + "/cards/" + root_handbook(shortcut) + "\n"
 
-                                header += "---"
+                                if len(legacy_from) > 0:
+                                    for item in legacy_from:
+                                        header += str(item)
+                                else:
+                                    header += "---"
 
                                 # add autogenerated links to whitelist
                                 whiteList += permalink + "\n"