diff --git a/CHANGELOG.md b/CHANGELOG.md
index c948dcd7a967f672adc1f641b577587426e37c01..2317fa8c76086e9c5a9079daa5cbf31d74f4d088 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,8 +11,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 
 ### Changed ###
 - The converters and datatype arguments of TableImporter now may have keys for nonexisting columns
-- The obligatory key word no longer enforces that the columns exist. Since all rows are still
-  checked whether this column has a non-NULL value, this is deemed a non breaking change.
 
 ### Deprecated ###
 
diff --git a/src/caosadvancedtools/table_importer.py b/src/caosadvancedtools/table_importer.py
index f38c3ffc0aee8c2863de7feece18ef5cfd43fbd9..025533b37dadf8354c8078ad7c8cb2d073a68925 100755
--- a/src/caosadvancedtools/table_importer.py
+++ b/src/caosadvancedtools/table_importer.py
@@ -221,7 +221,7 @@ class TableImporter():
           value check is not necessary.
 
         obligatory_columns : list, optional
-          List of column names that must not have missing values.
+          List of column names that (if they exist) must not have missing values.
 
         unique_keys : list, optional
           List of column names that in combination must be unique: each row has a unique
@@ -387,6 +387,8 @@ class TableImporter():
 
             while okay and i < len(self.obligatory_columns):
                 key = self.obligatory_columns[i]
+                if key not in df.columns:
+                    continue
                 i += 1
 
                 if pd.isnull(row.loc[key]):