dat_lines.splice(i-1, 1);
       dat_lines.splice(i, 0, prev_line);
     });
-    add_button(td_btns, 'v', i+1 < dat_lines.length ? false : true, function() {
+    add_button(td_btns, 'v', (i && i+1 < dat_lines.length) ? false : true, function() {
       const next_line = dat_lines[i];
       dat_lines.splice(i, 1);
       dat_lines.splice(i+1, 0, next_line);
     });
     td_btns.appendChild(document.createTextNode(' · · · '))
-    add_button(td_btns, 'delete', false, function() { dat_lines.splice(i, 1); });
+    add_button(td_btns, 'delete',  i > 0 ? false : true, function() { dat_lines.splice(i, 1); });
 
     // add error explanation row if necessary
     if (dat_line.error) {