diff --git a/src/nautilus-window-manage-views.c b/src/nautilus-window-manage-views.c
index ac3d6bc..0a7df88 100644
--- a/src/nautilus-window-manage-views.c
+++ b/src/nautilus-window-manage-views.c
@@ -1172,6 +1172,13 @@ got_file_info_for_view_selection_callback (NautilusFile *file,
 			 *   cancel_viewed_file_changed_callback (slot);
 			 * at this point, or in end_location_change()
 			 */
+			/* We're missing a previous location (if opened location
+			 * in a new tab) so close it and return */
+			if (slot->location == NULL) {
+				nautilus_window_slot_close (slot);
+				nautilus_file_unref (file);
+				return;
+			}
 
 			/* We disconnected this, so we need to re-connect it */
 			viewed_file = nautilus_file_get (slot->location);
