diff -rNaud thunar-SVN29407-orig/thunar/thunar-shortcuts-view.c thunar-SVN29407/thunar/thunar-shortcuts-view.c
--- thunar-SVN29407-orig/thunar/thunar-shortcuts-view.c	2009-01-29 21:28:03.000000000 +0100
+++ thunar-SVN29407/thunar/thunar-shortcuts-view.c	2009-02-01 14:36:40.000000000 +0100
@@ -812,39 +812,46 @@
 
   /* prepare the popup menu */
   menu = gtk_menu_new ();
+  
+  /* We don't need these items for non mountable volumes */ 
+  if ((G_UNLIKELY (volume == NULL)) || (thunar_vfs_volume_is_mountable (volume)))
+    {
+	  /* append the "Open" menu action */
+	  item = gtk_image_menu_item_new_with_mnemonic (_("_Open"));
+	  g_signal_connect_swapped (G_OBJECT (item), "activate", G_CALLBACK (thunar_shortcuts_view_open), view);
+	  gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+	  gtk_widget_show (item);
 
-  /* append the "Open" menu action */
-  item = gtk_image_menu_item_new_with_mnemonic (_("_Open"));
-  g_signal_connect_swapped (G_OBJECT (item), "activate", G_CALLBACK (thunar_shortcuts_view_open), view);
-  gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
-  gtk_widget_show (item);
+	  /* set the stock icon */
+	  image = gtk_image_new_from_stock (GTK_STOCK_OPEN, GTK_ICON_SIZE_MENU);
+	  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
+	  gtk_widget_show (image);
 
-  /* set the stock icon */
-  image = gtk_image_new_from_stock (GTK_STOCK_OPEN, GTK_ICON_SIZE_MENU);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
-  gtk_widget_show (image);
+	  /* append the "Open in New Window" menu action */
+	  item = gtk_image_menu_item_new_with_mnemonic (_("Open in New Window"));
+	  g_signal_connect_swapped (G_OBJECT (item), "activate", G_CALLBACK (thunar_shortcuts_view_open_in_new_window), view);
+	  gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+	  gtk_widget_show (item);
 
-  /* append the "Open in New Window" menu action */
-  item = gtk_image_menu_item_new_with_mnemonic (_("Open in New Window"));
-  g_signal_connect_swapped (G_OBJECT (item), "activate", G_CALLBACK (thunar_shortcuts_view_open_in_new_window), view);
-  gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
-  gtk_widget_show (item);
+	  /* append a menu separator */
+	  item = gtk_separator_menu_item_new ();
+	  gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+	  gtk_widget_show (item);
+	}
 
-  /* append a menu separator */
-  item = gtk_separator_menu_item_new ();
-  gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
-  gtk_widget_show (item);
 
   /* check if we have a volume here */
   if (G_UNLIKELY (volume != NULL))
     {
       /* append the "Mount Volume" menu action */
-      item = gtk_image_menu_item_new_with_mnemonic (_("_Mount Volume"));
-      gtk_widget_set_sensitive (item, !thunar_vfs_volume_is_mounted (volume));
-      g_signal_connect_swapped (G_OBJECT (item), "activate", G_CALLBACK (thunar_shortcuts_view_mount), view);
-      gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
-      gtk_widget_show (item);
-
+	  if (thunar_vfs_volume_is_mountable (volume))
+        {
+		  item = gtk_image_menu_item_new_with_mnemonic (_("_Mount Volume"));
+		  gtk_widget_set_sensitive (item, !thunar_vfs_volume_is_mounted (volume));
+		  g_signal_connect_swapped (G_OBJECT (item), "activate", G_CALLBACK (thunar_shortcuts_view_mount), view);
+		  gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+		  gtk_widget_show (item);
+		}
       /* check if the volume is ejectable */
       if (thunar_vfs_volume_is_ejectable (volume))
         {
@@ -856,12 +863,15 @@
         }
       else
         {
-          /* append the "Unmount Volume" menu item */
-          item = gtk_image_menu_item_new_with_mnemonic (_("_Unmount Volume"));
-          gtk_widget_set_sensitive (item, thunar_vfs_volume_is_mounted (volume));
-          g_signal_connect_swapped (G_OBJECT (item), "activate", G_CALLBACK (thunar_shortcuts_view_unmount), view);
-          gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
-          gtk_widget_show (item);
+	  	  if (thunar_vfs_volume_is_mountable (volume))
+			{
+			  /* append the "Unmount Volume" menu item */
+			  item = gtk_image_menu_item_new_with_mnemonic (_("_Unmount Volume"));
+			  gtk_widget_set_sensitive (item, thunar_vfs_volume_is_mounted (volume));
+			  g_signal_connect_swapped (G_OBJECT (item), "activate", G_CALLBACK (thunar_shortcuts_view_unmount), view);
+			  gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+			  gtk_widget_show (item);
+			}
         }
 
       /* append a menu separator */
diff -rNaud thunar-SVN29407-orig/thunar/thunar-tree-view.c thunar-SVN29407/thunar/thunar-tree-view.c
--- thunar-SVN29407-orig/thunar/thunar-tree-view.c	2009-01-29 21:28:03.000000000 +0100
+++ thunar-SVN29407/thunar/thunar-tree-view.c	2009-02-01 14:36:17.000000000 +0100
@@ -1058,40 +1058,48 @@
 
   /* prepare the popup menu */
   menu = gtk_menu_new ();
+  
+  /* We don't need these items for non mountable volumes */ 
+  if ((G_UNLIKELY (volume == NULL)) || (thunar_vfs_volume_is_mountable (volume)))
+    {
 
-  /* append the "Open" menu action */
-  item = gtk_image_menu_item_new_with_mnemonic (_("_Open"));
-  g_signal_connect_swapped (G_OBJECT (item), "activate", G_CALLBACK (thunar_tree_view_action_open), view);
-  gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
-  gtk_widget_set_sensitive (item, (file != NULL || volume != NULL));
-  gtk_widget_show (item);
-
-  /* set the stock icon */
-  image = gtk_image_new_from_stock (GTK_STOCK_OPEN, GTK_ICON_SIZE_MENU);
-  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
-  gtk_widget_show (image);
+	  /* append the "Open" menu action */
+	  item = gtk_image_menu_item_new_with_mnemonic (_("_Open"));
+	  g_signal_connect_swapped (G_OBJECT (item), "activate", G_CALLBACK (thunar_tree_view_action_open), view);
+	  gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+	  gtk_widget_set_sensitive (item, (file != NULL || volume != NULL));
+	  gtk_widget_show (item);
 
-  /* append the "Open in New Window" menu action */
-  item = gtk_image_menu_item_new_with_mnemonic (_("Open in New Window"));
-  g_signal_connect_swapped (G_OBJECT (item), "activate", G_CALLBACK (thunar_tree_view_action_open_in_new_window), view);
-  gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
-  gtk_widget_set_sensitive (item, (file != NULL || volume != NULL));
-  gtk_widget_show (item);
+	  /* set the stock icon */
+	  image = gtk_image_new_from_stock (GTK_STOCK_OPEN, GTK_ICON_SIZE_MENU);
+	  gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image);
+	  gtk_widget_show (image);
 
-  /* append a separator item */
-  item = gtk_separator_menu_item_new ();
-  gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
-  gtk_widget_show (item);
+	  /* append the "Open in New Window" menu action */
+	  item = gtk_image_menu_item_new_with_mnemonic (_("Open in New Window"));
+	  g_signal_connect_swapped (G_OBJECT (item), "activate", G_CALLBACK (thunar_tree_view_action_open_in_new_window), view);
+	  gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+	  gtk_widget_set_sensitive (item, (file != NULL || volume != NULL));
+	  gtk_widget_show (item);
 
+	  /* append a separator item */
+	  item = gtk_separator_menu_item_new ();
+	  gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+	  gtk_widget_show (item);
+	}
+	
+  /* check if we have a volume here */	
   if (G_UNLIKELY (volume != NULL))
     {
       /* append the "Mount Volume" menu action */
-      item = gtk_image_menu_item_new_with_mnemonic (_("_Mount Volume"));
-      gtk_widget_set_sensitive (item, !thunar_vfs_volume_is_mounted (volume));
-      g_signal_connect_swapped (G_OBJECT (item), "activate", G_CALLBACK (thunar_tree_view_action_mount), view);
-      gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
-      gtk_widget_show (item);
-
+	  if (thunar_vfs_volume_is_mountable (volume))
+        {
+		  item = gtk_image_menu_item_new_with_mnemonic (_("_Mount Volume"));
+		  gtk_widget_set_sensitive (item, !thunar_vfs_volume_is_mounted (volume));
+		  g_signal_connect_swapped (G_OBJECT (item), "activate", G_CALLBACK (thunar_tree_view_action_mount), view);
+		  gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+		  gtk_widget_show (item);
+		}
       /* check if the volume is ejectable */
       if (thunar_vfs_volume_is_ejectable (volume))
         {
@@ -1102,15 +1110,17 @@
           gtk_widget_show (item);
         }
       else
-        {
-          /* append the "Unmount Volume" menu item */
-          item = gtk_image_menu_item_new_with_mnemonic (_("_Unmount Volume"));
-          gtk_widget_set_sensitive (item, thunar_vfs_volume_is_mounted (volume));
-          g_signal_connect_swapped (G_OBJECT (item), "activate", G_CALLBACK (thunar_tree_view_action_unmount), view);
-          gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
-          gtk_widget_show (item);
-        }
-
+	    {
+	  	  if (thunar_vfs_volume_is_mountable (volume))
+			{
+			  /* append the "Unmount Volume" menu item */
+			  item = gtk_image_menu_item_new_with_mnemonic (_("_Unmount Volume"));
+			  gtk_widget_set_sensitive (item, thunar_vfs_volume_is_mounted (volume));
+			  g_signal_connect_swapped (G_OBJECT (item), "activate", G_CALLBACK (thunar_tree_view_action_unmount), view);
+			  gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+			  gtk_widget_show (item);
+			}
+		}
       /* append a menu separator */
       item = gtk_separator_menu_item_new ();
       gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
diff -rNaud thunar-SVN29407-orig/thunar-vfs/thunar-vfs-volume-hal.c thunar-SVN29407/thunar-vfs/thunar-vfs-volume-hal.c
--- thunar-SVN29407-orig/thunar-vfs/thunar-vfs-volume-hal.c	2009-01-29 21:28:09.000000000 +0100
+++ thunar-SVN29407/thunar-vfs/thunar-vfs-volume-hal.c	2009-02-01 14:37:05.000000000 +0100
@@ -1014,9 +1014,6 @@
 
   if (G_LIKELY (hv != NULL))
     {
-      /* check if we have a mountable file system here */
-      if (libhal_volume_get_fsusage (hv) == LIBHAL_VOLUME_USAGE_MOUNTABLE_FILESYSTEM)
-        {
           /* determine the UDI of the drive to which this volume belongs */
           drive_udi = libhal_volume_get_storage_device_udi (hv);
           if (G_LIKELY (drive_udi != NULL))
@@ -1051,7 +1048,6 @@
                   libhal_drive_free (hd);
                 }
             }
-        }
 
       /* release the HAL volume */
       libhal_volume_free (hv);