diff --git a/src/caosadvancedtools/table_json_conversion/convert.py b/src/caosadvancedtools/table_json_conversion/convert.py
index 3bc255562f115963f84d207d37421c11f2243ef0..bffab78e175ae1291e7447186c356bfa39f2a5ef 100644
--- a/src/caosadvancedtools/table_json_conversion/convert.py
+++ b/src/caosadvancedtools/table_json_conversion/convert.py
@@ -186,7 +186,8 @@ class XLSXConverter:
             self._check_columns(fail_fast=strict)
         except KeyError as e:
             raise jsonschema.ValidationError(f"Malformed metadata: Cannot parse paths. "
-                                             f"Unknown path: {e}") from e
+                                             f"Unknown path: '{e.args[1]}' in sheet '{e.args[0]}'."
+                                             ) from e
         self._handled_sheets: set[str] = set()
         self._result: dict = {}
         self._errors: dict = {}
@@ -270,8 +271,11 @@ class XLSXConverter:
                 parents[xlsx_utils.p2s(col.path[:-1])] = col.path[:-1]
                 col_paths.append(col.path)
             for path in parents.values():
-                subschema = xlsx_utils.get_subschema(path, self._schema)
-
+                try:
+                    subschema = xlsx_utils.get_subschema(path, self._schema)
+                except KeyError as kerr:
+                    kerr.args = (sheetname, *kerr.args)
+                    raise
                 # Unfortunately, there are a lot of special cases to handle here.
                 if subschema.get("type") == "array":
                     subschema = subschema["items"]
@@ -544,9 +548,6 @@ def _group_foreign_paths(foreign: list[list], common: list[str]) -> list[SimpleN
         last_level = len(elem.path)
         resultlist.append(elem)
 
-    # from IPython import embed
-    # embed()
-
     if last_level != len(common):
         raise ValueError("Foreign keys must cover the complete `common` depth.")
     return resultlist
diff --git a/unittests/table_json_conversion/test_read_xlsx.py b/unittests/table_json_conversion/test_read_xlsx.py
index f51e114f7ab526f0b366e48934dbb1f9573f1666..ac0a42b59478a57a1bf7ef53f4333e20c0358e76 100644
--- a/unittests/table_json_conversion/test_read_xlsx.py
+++ b/unittests/table_json_conversion/test_read_xlsx.py
@@ -153,7 +153,8 @@ def test_error_table():
     with pytest.raises(jsonschema.ValidationError) as caught:
         convert.to_dict(xlsx=rfp("data/simple_data_broken_paths.xlsx"),
                         schema=rfp("data/simple_schema.json"))
-    assert "Malformed metadata: Cannot parse paths" in str(caught.value)
+    assert ("Malformed metadata: Cannot parse paths. Unknown path: 'There' in sheet 'Person'."
+            == str(caught.value))
 
 
 def test_additional_column():