diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5d2f93ffaca091b8d0cbf9d5289e5dcd9f43c3e8..07467d9e119418dfa74b83a539ed3572678d0425 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
 
+* #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
   "unkown error".
 * #145 Documentation of importances and inheritance
diff --git a/src/main/java/org/caosdb/server/datatype/DoubleDatatype.java b/src/main/java/org/caosdb/server/datatype/DoubleDatatype.java
index f2f8d2823e4483c59945c168f5e83d029bc6da6a..e9e2526521d044fc89746eb0e3204de97f473e0c 100644
--- a/src/main/java/org/caosdb/server/datatype/DoubleDatatype.java
+++ b/src/main/java/org/caosdb/server/datatype/DoubleDatatype.java
@@ -33,16 +33,19 @@ public class DoubleDatatype extends AbstractDatatype {
   public SingleValue parseValue(final Object value) throws Message {
     try {
       if (value instanceof GenericValue) {
-        return new GenericValue(Double.parseDouble(((GenericValue) value).toDatabaseString()));
+        return parse(((GenericValue) value).toDatabaseString());
       } else {
-        String valueStr = value.toString();
-        if (valueStr.toLowerCase().equals("nan")) {
-          valueStr = "NaN";
-        }
-        return new GenericValue(Double.parseDouble(valueStr));
+        return parse(value.toString());
       }
     } catch (final NumberFormatException e) {
       throw ServerMessages.CANNOT_PARSE_DOUBLE_VALUE;
     }
   }
+
+  private GenericValue parse(String valueStr) {
+    if (valueStr.toLowerCase().equals("nan")) {
+      valueStr = "NaN";
+    }
+    return new GenericValue(Double.parseDouble(valueStr));
+  }
 }