diff --git a/doc.zih.tu-dresden.de/util/check-TOC-equals-page-headings.py b/doc.zih.tu-dresden.de/util/check-TOC-equals-page-headings.py
deleted file mode 100644
index 16097c70ac1aff3ab819205d7289ffb512b7f486..0000000000000000000000000000000000000000
--- a/doc.zih.tu-dresden.de/util/check-TOC-equals-page-headings.py
+++ /dev/null
@@ -1,44 +0,0 @@
-""" #!/usr/bin/env python
-Check for consistency between TOC and page headings.
-Provide as an command line argument the path to the mkdocs.yml file.
-
-Author: Taras Lazariv
-"""
-
-import os
-import sys
-import yaml
-import pandas as pd
-
-def list_and_read_files(path):
-    "List files in a directory recursively and read the first line of each file"
-    files = []
-    firstline = []
-    for root, _, filenames in os.walk(path):
-        for filename in filenames:
-            if filename.endswith('.md'):
-                files.append(os.path.join(root.split('/')[-1], filename))
-                firstline.append(open(os.path.join(root, filename)).readline().strip().replace('# ',''))
-    df = pd.DataFrame({'file': files, 'firstline': firstline})
-    return df
-
-def main():
-    "Main function"
-    path = os.getcwd()
-    df = list_and_read_files(path)
-
-    nav_section = dict()
-
-    with open(sys.argv[1], 'r') as file:
-        for line in file:
-            line = line.rstrip()
-            if line.endswith('.md'):
-                nav_section.update(yaml.safe_load(line)[0])
-
-    nav_df = pd.DataFrame(nav_section.items(), columns=['title', 'file'])
-    with pd.option_context('display.max_rows', None):  # more options can be specified also
-        complete_nav_df = pd.merge(df, nav_df, on='file', how='outer')
-        print(complete_nav_df.loc[~(complete_nav_df['firstline'] == complete_nav_df['title'])])
-
-if __name__ == '__main__':
-    main()
\ No newline at end of file
diff --git a/doc.zih.tu-dresden.de/util/check-toc-equals-page-headings.py b/doc.zih.tu-dresden.de/util/check-toc-equals-page-headings.py
new file mode 100755
index 0000000000000000000000000000000000000000..ec66904b419c857fb194a38daf47e1a5b4677bb1
--- /dev/null
+++ b/doc.zih.tu-dresden.de/util/check-toc-equals-page-headings.py
@@ -0,0 +1,72 @@
+""" #!/usr/bin/env python
+Check for consistency between TOC and page headings.
+Provide as an command line argument the path to the mkdocs.yml file.
+
+Author: Michael Bommhardt-Richter
+"""
+
+import argparse
+import sys
+from pathlib import Path
+
+# {path/filename.md: [toc_heading, file_heading], ... }
+TOCData = dict()
+
+whitelist = ["index.md"]  # ["archive"]
+
+
+def get_heading_in_file(filename, docs_path):
+    # Read until first level one heading is found
+    f = Path.joinpath(docs_path, filename)
+    with open(f, "r") as file:
+        for line in file:
+            if line.startswith("#"):
+                # TODO Make sure it is really a level one heading!
+                # Will be empty if there is more than one "#".
+                return line.split("#")[1].strip()
+
+
+def main():
+    scriptpath = Path(__file__).resolve().parent
+    mkdocsyaml = Path.joinpath(scriptpath, "../", "mkdocs.yml")
+    if Path.exists(mkdocsyaml):
+
+        docs_path = Path.joinpath(scriptpath, "../", "docs")
+        with open(mkdocsyaml, "r") as file:
+            c = file.readlines()
+
+        for line in c:
+            line = line.rstrip()
+
+            # "headline: path/file.md" -> "Headline" = "path/file.md"
+            if line.endswith(".md"):
+                line = line.split("  - ")[1]
+                line = line.split(": ")
+
+                key = line[1]
+                file_heading = get_heading_in_file(line[1], docs_path)
+                TOCData[line[1]] = [line[0], file_heading]
+
+        # Check TOC vs heading in corresponding md-file
+        cnt = 0
+        for key, value in TOCData.items():
+            if key in whitelist:
+                continue
+            if value[0] == "Overview":
+                continue
+            if value[0] != value[1]:
+                cnt += 1
+                print(f"{key:<40}{value[0]:<30} != {value[1]}")
+        sys.exit(cnt)
+    else:
+        print("Error: Could not find mkdocs.yml file.")
+        sys.exit(-1)
+
+
+if __name__ == "__main__":
+    parser = argparse.ArgumentParser(
+        description="Find differences in TOC and top level headings of md-files."
+    )
+    args = parser.parse_args()
+
+    main()