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;
     }
   }