diff --git a/src/caosadvancedtools/json_schema_exporter.py b/src/caosadvancedtools/json_schema_exporter.py
index a64b0e05dc438bebf509bed38f02507f394c3d2c..2c283d670018f807b16638e0bfc5f677d5677e84 100644
--- a/src/caosadvancedtools/json_schema_exporter.py
+++ b/src/caosadvancedtools/json_schema_exporter.py
@@ -58,6 +58,8 @@ def _make_prop_from_prop(prop: db.Property, additional_properties: bool,
         instead.
     """
 
+    if not additional_options_for_text_props:
+        additional_options_for_text_props = {}
     if prop.datatype == db.TEXT or prop.datatype == db.DATETIME:
         text_format = None
         text_pattern = None
@@ -139,7 +141,19 @@ def _make_text_property(description="", text_format=None, text_pattern=None):
         prop["description"] = description
     if text_format is not None:
         if isinstance(text_format, list):
-            prop["anyOf"] = [{"format": tf} for tf in text_format]
+            # We want the type inside the options, not in the head:
+            # "datetime property": {
+            #   "anyOf": [
+            #     {
+            #       "type": "string",
+            #       "format": "date"
+            #     },
+            #     {
+            #       "type": "string",
+            #       "format": "date-time"
+            #     }]}
+            prop.pop("type")
+            prop["anyOf"] = [{"type": "string", "format": tf} for tf in text_format]
         else:
             prop["format"] = text_format
     if text_pattern is not None:
diff --git a/unittests/test_json_schema_exporter.py b/unittests/test_json_schema_exporter.py
index c9194562097283fc8e4a15f2c57161cf534b0fe2..937e1b1b625f5c81db2113f4008b00af100305ae 100644
--- a/unittests/test_json_schema_exporter.py
+++ b/unittests/test_json_schema_exporter.py
@@ -125,12 +125,20 @@ def test_rt_with_scalar_props():
     assert props["SimpleText"]["description"] == "This is a simple text"
 
     assert "ObligatoryDatetime" in props
-    assert props["ObligatoryDatetime"]["type"] == "string"
+    assert "type" not in props["ObligatoryDatetime"]
     assert "anyOf" in props["ObligatoryDatetime"]
     assert len(props["ObligatoryDatetime"]["anyOf"]) == 2
-    fmts = [fmt["format"] for fmt in props["ObligatoryDatetime"]["anyOf"]]
-    assert "date" in fmts
-    assert "date-time" in fmts
+    date_found = 0
+    datetime_found = 0
+    for option in props["ObligatoryDatetime"]["anyOf"]:
+        assert option["type"] == "string"
+        fmt = option["format"]
+        if fmt == "date":
+            date_found += 1
+        if fmt == "date-time":
+            datetime_found += 1
+    assert date_found == 1
+    assert datetime_found == 1
 
     assert "JustDateNoTime" in props
     assert props["JustDateNoTime"]["type"] == "string"