diff --git a/CHANGELOG.md b/CHANGELOG.md
index ef69eef63bbfd7ada1c2627472cb15397019e8d4..f710d2bbb7c09f1db09d2de17952f9764645469a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -19,6 +19,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 
 ### Fixed
 
+* #183 No reasonable error when using bad datetime format.
+  (https://gitlab.indiscale.com/caosdb/src/caosdb-server/-/issues/183)
 * #127 "nan" as value (list item) in properties with data type "LIST<DOUBLE>"
   return with "Cannot parse value to double" error.
 * #170 Updating an abstract list-type property with a default value fails with
diff --git a/src/main/java/org/caosdb/server/datatype/DateTimeDatatype.java b/src/main/java/org/caosdb/server/datatype/DateTimeDatatype.java
index 574e40cb96097544a19cf46c4ad700e9ce442208..9c66f425ef0b867a3932b5b6fa85e5d88bf8f4a7 100644
--- a/src/main/java/org/caosdb/server/datatype/DateTimeDatatype.java
+++ b/src/main/java/org/caosdb/server/datatype/DateTimeDatatype.java
@@ -37,12 +37,19 @@ public class DateTimeDatatype extends AbstractDatatype {
     try {
       if (value instanceof UTCDateTime || value instanceof Date) {
         return (DateTimeInterface) value;
-      } else if (value instanceof GenericValue) {
-        return DateTimeFactory2.valueOf(((GenericValue) value).toDatabaseString());
+      }
+
+      DateTimeInterface result;
+      if (value instanceof GenericValue) {
+        result = DateTimeFactory2.valueOf(((GenericValue) value).toDatabaseString());
       } else {
-        return DateTimeFactory2.valueOf(value.toString());
+        result = DateTimeFactory2.valueOf(value.toString());
       }
-    } catch (final IllegalArgumentException e) {
+
+      // Test if this is storable
+      result.toDatabaseString();
+      return result;
+    } catch (final UnsupportedOperationException | IllegalArgumentException e) {
       throw ServerMessages.CANNOT_PARSE_DATETIME_VALUE;
     }
   }