diff --git a/libraries/render-utils/src/Model.cpp b/libraries/render-utils/src/Model.cpp
index 078a64405c..c3abd15063 100644
--- a/libraries/render-utils/src/Model.cpp
+++ b/libraries/render-utils/src/Model.cpp
@@ -538,7 +538,7 @@ void Model::setVisibleInScene(bool newValue, std::shared_ptr<render::Scene> scen
             pendingChanges.resetItem(item, _modelMeshRenderItems[item]);
         }
         foreach (auto item, _collisionRenderItems.keys()) {
-            pendingChanges.resetItem(item, _modelMeshRenderItems[item]);
+            pendingChanges.resetItem(item, _collisionRenderItems[item]);
         }
         scene->enqueuePendingChanges(pendingChanges);
     }
diff --git a/libraries/render/src/render/Scene.cpp b/libraries/render/src/render/Scene.cpp
index 79f4b2a269..e091b4842c 100644
--- a/libraries/render/src/render/Scene.cpp
+++ b/libraries/render/src/render/Scene.cpp
@@ -16,8 +16,13 @@
 using namespace render;
 
 void PendingChanges::resetItem(ItemID id, const PayloadPointer& payload) {
-    _resetItems.push_back(id);
-    _resetPayloads.push_back(payload);
+    if (payload) {
+        _resetItems.push_back(id);
+        _resetPayloads.push_back(payload);
+    } else {
+        qDebug() << "WARNING: PendingChanges::resetItem with a null payload!";
+        removeItem(id);
+    }
 }
 
 void PendingChanges::removeItem(ItemID id) {