--- nautilus-places-sidebar.c	2006-02-27 11:03:47.000000000 +0100
+++ nautilus-2.14.0/src/nautilus-places-sidebar.c	2006-04-01 11:26:46.000000000 +0200
@@ -156,7 +156,9 @@ update_places (NautilusPlacesSidebar *si
 	GtkTreeIter           iter, last_iter;
 	GnomeVFSVolumeMonitor *volume_monitor;
 	GList 		      *volumes, *l;
-	GnomeVFSVolume 	      *volume;
+	GnomeVFSVolume	      *volume;
+	GList		      *drives;
+	GnomeVFSDrive	      *drive;
 	int 		      bookmark_count, index;
 	char 		      *location, *icon, *mount_uri, *name, *desktop_path;
 		
@@ -198,10 +200,33 @@ update_places (NautilusPlacesSidebar *si
 		gtk_tree_selection_select_iter (selection, &last_iter);
 	}	
 
+	/* add floppy drive if not mounted */
+
+	volume_monitor = gnome_vfs_get_volume_monitor ();
+	drives = gnome_vfs_volume_monitor_get_connected_drives (volume_monitor);
+	for (l = drives; l != NULL; l = l->next) {
+		drive = l->data;
+		if (gnome_vfs_drive_get_device_type (drive) == GNOME_VFS_DEVICE_TYPE_FLOPPY &&
+		    !gnome_vfs_drive_is_mounted (drive)) {
+			if (!gnome_vfs_drive_is_user_visible (drive)) {
+				gnome_vfs_drive_unref (drive);
+				continue;
+			}
+			icon = gnome_vfs_drive_get_icon (drive);
+			mount_uri = gnome_vfs_drive_get_activation_uri (drive);
+			name = gnome_vfs_drive_get_display_name (drive);
+			last_iter = add_place (sidebar->store, PLACES_BUILT_IN,
+					       name, icon, mount_uri, 0);
+			g_free (icon);
+			g_free (name);
+			g_free (mount_uri);
+		}
+		gnome_vfs_drive_unref (drive);
+	}
+	g_list_free (drives);
 
 	/* add mounted volumes */
 
-	volume_monitor = gnome_vfs_get_volume_monitor ();
 	volumes = gnome_vfs_volume_monitor_get_mounted_volumes (volume_monitor);
 	for (l = volumes; l != NULL; l = l->next) {
 		volume = l->data;
