Index: libnautilus-private/nautilus-autorun.c
===================================================================
--- libnautilus-private/nautilus-autorun.c	(revision 14871)
+++ libnautilus-private/nautilus-autorun.c	(working copy)
@@ -1079,6 +1079,7 @@
 typedef struct {
 	NautilusAutorunGetContent callback;
 	gpointer user_data;
+	GObject *mount;
 } GetContentTypesData;
 
 static void
@@ -1092,10 +1093,11 @@
 	data = user_data;
 	types = g_mount_guess_content_type_finish (G_MOUNT (source_object), res, NULL);
 
-	g_object_set_data_full (source_object,
+	g_object_set_data_full (data->mount,
 				"nautilus-content-type-cache",
 				g_strdupv (types),
 				(GDestroyNotify)g_strfreev);
+	g_object_unref (data->mount);
 
 	if (data->callback) {
 		data->callback (types, data->user_data);
@@ -1131,6 +1133,7 @@
 	data = g_new (GetContentTypesData, 1);
 	data->callback = callback;
 	data->user_data = user_data;
+	data->mount = g_object_ref (mount);
 
 	g_mount_guess_content_type (mount,
 				    FALSE,
