diff --git a/app/javascript/vue/protocol/step.vue b/app/javascript/vue/protocol/step.vue
index 52f00dfa4..a63fb5982 100644
--- a/app/javascript/vue/protocol/step.vue
+++ b/app/javascript/vue/protocol/step.vue
@@ -427,6 +427,9 @@
},
updateElement(element, skipRequest=false, callback) {
let index = this.elements.findIndex((e) => e.id === element.id);
+
+ if (!this.elements[index]) return;
+
this.elements[index].isNew = false;
if (skipRequest) {
diff --git a/app/javascript/vue/shared/content/checklist.vue b/app/javascript/vue/shared/content/checklist.vue
index bce29cd50..3983d541f 100644
--- a/app/javascript/vue/shared/content/checklist.vue
+++ b/app/javascript/vue/shared/content/checklist.vue
@@ -38,26 +38,27 @@
:chosenClass="'checklist-item-chosen'"
:forceFallback="true"
:handle="'.element-grip'"
+ item-key="id"
:disabled="editingItem || checklistItems.length < 2 || !element.attributes.orderable.urls.reorder_url"
@start="startReorder"
@end="endReorder"
>
-