diff --git a/src/core/js/edit_mode.js b/src/core/js/edit_mode.js
index 2121a49aa48573d316e36da91da76049bbed6682..c9976c8d3e70bf45af863ba1be4fdf8e12320de7 100644
--- a/src/core/js/edit_mode.js
+++ b/src/core/js/edit_mode.js
@@ -340,7 +340,7 @@ var edit_mode = new function() {
             // `atomic` not in `known_atomic_datatypes` (e.g. "Person") -> this
             // is a reference and the `atomic` is actually the reference's
             // scope entity.
-            reference = atomic;
+            ref = atomic;
             atomic = "REFERENCE";
         }
 
@@ -369,6 +369,7 @@ var edit_mode = new function() {
             result = ref;
         }
 
+        const is_list = datatype["is_list"];
         if (is_list === "on" || is_list === true) {
             result = `LIST<${result}>`;
         }
@@ -702,7 +703,7 @@ var edit_mode = new function() {
 
         // generate select input for the atomic_datatype
         const select = $('<select name="atomic_datatype" class="form-control"></select>');
-        for (const dt of known_atomic_datatypes) {
+        for (const dt of edit_mode._known_atomic_datatypes) {
             select.append(`<option value="${dt}">${dt}</option>`);
         }
         select.val(atomic_datatype)
diff --git a/test/core/js/modules/edit_mode.js.js b/test/core/js/modules/edit_mode.js.js
index 0121ab55bf9b6ff377c3eaf6c85ccd5a692238a3..90b23caa2cee49d350eef5683f366836adf6b6eb 100644
--- a/test/core/js/modules/edit_mode.js.js
+++ b/test/core/js/modules/edit_mode.js.js
@@ -237,8 +237,8 @@ QUnit.test("isListDatatype", function (assert) {
     assert.ok(edit_mode.unListDatatype);
 });
 
-QUnit.test("make_dataype_input_logic", function (assert) {
-    assert.ok(edit_mode.make_dataype_input_logic);
+QUnit.test("make_datatype_input_logic", function (assert) {
+    assert.ok(edit_mode.make_datatype_input_logic);
 });
 
 QUnit.test("make_datatype_input", function (assert) {
@@ -253,117 +253,104 @@ QUnit.test("make_datatype_input", function (assert) {
     };
     const form_wrapper = "<form/>";
 
-    const no_dt_input = edit_mode.make_datatype_input(undefined, undefined);
+    const no_dt_input = edit_mode.make_datatype_input(undefined);
     no_dt_input[1].addEventListener("caosdb.field.ready", function (e) {
         var obj = form_elements
             .form_to_object($(form_wrapper).append(no_dt_input)[0]);
         assert.propEqual(obj, {
             "atomic_datatype": "TEXT",
-            "unit": "",
-            "reference_target": null,
+            "reference_scope": null,
         }, "No datatype (defaults to TEXT)");
         done();
     });
 
-    const text_dt_input = edit_mode.make_datatype_input("TEXT", undefined);
+    const text_dt_input = edit_mode.make_datatype_input("TEXT");
     text_dt_input[1].addEventListener("caosdb.field.ready", function (e) {
         var obj = form_elements
             .form_to_object($(form_wrapper).append(text_dt_input)[0]);
         assert.propEqual(obj, {
             "atomic_datatype": "TEXT",
-            "unit": "",
-            "reference_target": null,
+            "reference_scope": null,
         }, "TEXT");
         done();
     });
 
-    const ref_dt_input = edit_mode.make_datatype_input("REFERENCE", undefined);
+    const ref_dt_input = edit_mode.make_datatype_input("REFERENCE");
     ref_dt_input[1].addEventListener("caosdb.field.ready", function (e) {
         var obj = form_elements
             .form_to_object($(form_wrapper).append(ref_dt_input)[0]);
         assert.propEqual(obj, {
             "atomic_datatype": "REFERENCE",
-            "unit": "",
-            "reference_target": null,
+            "reference_scope": null,
         }, "REF");
         done();
     });
 
-    const file_dt_input = edit_mode.make_datatype_input("FILE", undefined);
+    const file_dt_input = edit_mode.make_datatype_input("FILE");
     file_dt_input[1].addEventListener("caosdb.field.ready", function (e) {
         var obj = form_elements
             .form_to_object($(form_wrapper).append(file_dt_input)[0]);
         assert.propEqual(obj, {
             "atomic_datatype": "FILE",
-            "unit": "",
-            "reference_target": null,
+            "reference_scope": null,
         }, "FILE");
         done();
     });
 
-    const person_dt_input = edit_mode.make_datatype_input("Person", undefined);
+    const person_dt_input = edit_mode.make_datatype_input("Person");
     person_dt_input[1].addEventListener("caosdb.field.ready", function (e) {
         var obj = form_elements
             .form_to_object($(form_wrapper).append(person_dt_input)[0]);
         assert.propEqual(obj, {
             "atomic_datatype": "REFERENCE",
-            "unit": "",
-            "reference_target": "Person",
+            "reference_scope": "Person",
         }, "Person");
         done();
     });
 
-    const list_text_dt_input = edit_mode.make_datatype_input("LIST<TEXT>",
-        undefined);
+    const list_text_dt_input = edit_mode.make_datatype_input("LIST<TEXT>");
     list_text_dt_input[1].addEventListener("caosdb.field.ready", function (e) {
         var obj = form_elements
             .form_to_object($(form_wrapper).append(list_text_dt_input)[0]);
         assert.propEqual(obj, {
             "atomic_datatype": "TEXT",
-            "unit": "",
-            "reference_target": null,
+            "reference_scope": null,
             "is_list": "on",
         }, "LIST<TEXT>");
         done();
     });
 
-    const list_ref_dt_input = edit_mode.make_datatype_input("LIST<REFERENCE>",
-        undefined);
+    const list_ref_dt_input = edit_mode.make_datatype_input("LIST<REFERENCE>");
     list_ref_dt_input[1].addEventListener("caosdb.field.ready", function (e) {
         var obj = form_elements
             .form_to_object($(form_wrapper).append(list_ref_dt_input)[0]);
         assert.propEqual(obj, {
             "atomic_datatype": "REFERENCE",
-            "unit": "",
-            "reference_target": null,
+            "reference_scope": null,
             "is_list": "on",
         }, "LIST<REFERENCE>");
         done();
     });
 
-    const list_file_dt_input = edit_mode.make_datatype_input("LIST<FILE>",
-        undefined);
+    const list_file_dt_input = edit_mode.make_datatype_input("LIST<FILE>");
     list_file_dt_input[1].addEventListener("caosdb.field.ready", function (e) {
         var obj = form_elements
             .form_to_object($(form_wrapper).append(list_file_dt_input)[0]);
         assert.propEqual(obj, {
             "atomic_datatype": "FILE",
-            "unit": "",
-            "reference_target": null,
+            "reference_scope": null,
             "is_list": "on",
         }, "LIST<FILE>");
         done();
     });
 
-    const list_per_dt_input = edit_mode.make_datatype_input("LIST<Person>",
-        undefined);
+    const list_per_dt_input = edit_mode.make_datatype_input("LIST<Person>");
     list_per_dt_input[1].addEventListener("caosdb.field.ready", function (e) {
         var obj = form_elements
             .form_to_object($(form_wrapper).append(list_per_dt_input)[0]);
         assert.propEqual(obj, {
             "atomic_datatype": "REFERENCE",
-            "unit": "",
-            "reference_target": "Person",
+            "reference_scope": "Person",
             "is_list": "on",
         }, "LIST<Person>");
         done();