diff --git a/src/core/js/edit_mode.js b/src/core/js/edit_mode.js
index 7e74c4248661768602d7055f765b5e3f1cb3bc5e..d1acf85f5f1a0241b8be0eb0b0941139d668b5a7 100644
--- a/src/core/js/edit_mode.js
+++ b/src/core/js/edit_mode.js
@@ -315,7 +315,7 @@ var edit_mode = new function() {
 
     this.get_datatype_str = function (atomic, refid, list) {
         var result = atomic;
-        if (typeof refid !== "undefined") {
+        if (refid !== null && typeof refid !== "undefined") {
             result = refid;
         }
         if (list === "on" || list === true) {
@@ -655,7 +655,7 @@ var edit_mode = new function() {
             datatype = "REFERENCE";
         }
 
-        var select = $('<select class="form-control"></select>');
+        var select = $('<select name="atomic_datatype" class="form-control"></select>');
         for (const dt of Object.keys(datatypes)) {
             select.append('<option data-has-refid="' + (dt == "REFERENCE") + '" data-has-unit="' + datatypes[dt] + '"  value="' + dt + '" ' + (dt == datatype ? 'selected="true"' : '') + '>' + dt + '</option>');
         }
@@ -674,7 +674,6 @@ var edit_mode = new function() {
             label: "reference to",
             query: "SELECT name FROM RECORDTYPE",
             make_desc: getEntityName,
-            required: true,
         };
         const refid_selector = $(form_elements
                 .make_reference_drop_down(reference_config));
@@ -687,15 +686,8 @@ var edit_mode = new function() {
         const list_checkbox = $(form_elements
                 .make_checkbox_input(list_checkbox_config));
 
-        //const datatype_input = $(`<div class="form-group"></div>`)
-            //.append(datatype_selector)
-            //.append(refid_selector)
-            //.append(list_checkbox);
-
         return [datatype_selector, refid_selector, list_checkbox,
             edit_mode.make_unit_input(unit)];
-
-        //return [datatype_input, edit_mode.make_unit_input(unit)];
     }
 
     this.make_input = function(label, value) {
diff --git a/test/core/js/modules/edit_mode.js.js b/test/core/js/modules/edit_mode.js.js
index c6326e4400750f75ef0b939990a941c2f706da2e..a39e1502681b7c6f3a34e7c3701ac9a50e6d2d61 100644
--- a/test/core/js/modules/edit_mode.js.js
+++ b/test/core/js/modules/edit_mode.js.js
@@ -235,6 +235,26 @@ QUnit.test("make_dataype_input_logic", function(assert){
 
 QUnit.test("make_datatype_input", function(assert){
     assert.ok(edit_mode.make_datatype_input);
+    const form_wrapper = "<form/>";
+
+    // test cases
+    const text_dt_input = edit_mode.make_datatype_input("TEXT", undefined);
+    const ref_dt_input = $(edit_mode.make_datatype_input("REFERENCE", undefined));
+    const file_dt_input = $(edit_mode.make_datatype_input("FILE", undefined));
+    const person_dt_input = $(edit_mode.make_datatype_input("Person", undefined));
+    const list_text_dt_input = $(edit_mode.make_datatype_input("LIST<TEXT>", undefined));
+    const list_ref_dt_input = $(edit_mode.make_datatype_input("LIST<REFERENCE>", undefined));
+    const list_file_dt_input = $(edit_mode.make_datatype_input("LIST<FILE>", undefined));
+    const list_per_dt_input = $(edit_mode.make_datatype_input("LIST<Person>", undefined));
+
+    assert.equal(text_dt_input.length, 4);
+    var obj = form_elements
+        .form_to_object($(form_wrapper).append(text_dt_input)[0]);
+    assert.propEqual(obj, {"atomic_datatype": "TEXT"});
+
+    obj = form_elements
+        .form_to_object($(form_wrapper).append(text_dt_input));
+    assert.propEqual(obj, {"atomic_datatype": "REFERENCE"});
 });
 
 QUnit.test("make_input", function(assert){
@@ -444,7 +464,7 @@ QUnit.test("remove_delete_button", function(assert){
     updated_entity = main_panel.find(".caosdb-entity-panel .caosdb-id:contains('newId')");
     assert.equal(updated_entity.length, 1, "entity with new id now in main panel");
 
-    //https://gitlab.com/caosdb/caosdb-webui/issues/47
+    // tests for closed issue https://gitlab.com/caosdb/caosdb-webui/issues/47
     assert.equal(main_panel.find(".caosdb-entity-panel .caosdb-entity-actions-panel").length, 1, "general actions panel there");
     assert.equal(main_panel.find(".caosdb-entity-panel .caosdb-f-edit-mode-entity-actions-panel").length, 1, "edit_mode actions panel there (BUG caosdb-webui#47)");