9d8afd3
diff --git a/monitor/gdu/ggdudrive.c b/monitor/gdu/ggdudrive.c
9d8afd3
index 6195f97..d332e14 100644
9d8afd3
--- a/monitor/gdu/ggdudrive.c
9d8afd3
+++ b/monitor/gdu/ggdudrive.c
9d8afd3
@@ -148,7 +148,10 @@ update_drive (GGduDrive *drive)
9d8afd3
   drive->icon = gdu_presentable_get_icon (drive->presentable);
9d8afd3
 
9d8afd3
   g_free (drive->name);
9d8afd3
-  drive->name = gdu_presentable_get_name (drive->presentable);
9d8afd3
+  if (_is_pc_floppy_drive (device))
9d8afd3
+    drive->name = g_strdup (_("Floppy Drive"));
9d8afd3
+  else
9d8afd3
+    drive->name = gdu_presentable_get_name (drive->presentable);
9d8afd3
 
9d8afd3
   /* the GduDevice for an activatable drive (such as RAID) is NULL if the drive is not activated */
9d8afd3
   if (device == NULL)
9d8afd3
diff --git a/monitor/gdu/ggduvolume.c b/monitor/gdu/ggduvolume.c
9d8afd3
index 8f75247..73ad0fc 100644
9d8afd3
--- a/monitor/gdu/ggduvolume.c
9d8afd3
+++ b/monitor/gdu/ggduvolume.c
9d8afd3
@@ -304,7 +304,10 @@ update_volume (GGduVolume *volume)
9d8afd3
       volume->icon = gdu_presentable_get_icon (GDU_PRESENTABLE (volume->gdu_volume));
9d8afd3
 
9d8afd3
       g_free (volume->name);
9d8afd3
-      volume->name = gdu_presentable_get_name (GDU_PRESENTABLE (volume->gdu_volume));
9d8afd3
+      if (_is_pc_floppy_drive (device))
9d8afd3
+        volume->name = g_strdup (_("Floppy Disk"));
9d8afd3
+      else
9d8afd3
+        volume->name = gdu_presentable_get_name (GDU_PRESENTABLE (volume->gdu_volume));
9d8afd3
 
9d8afd3
       /* special case the name and icon for audio discs */
9d8afd3
       activation_uri = volume->activation_root != NULL ? g_file_get_uri (volume->activation_root) : NULL;
9d8afd3
diff --git a/monitor/gdu/ggduvolumemonitor.c b/monitor/gdu/ggduvolumemonitor.c
9d8afd3
index 5c80f64..6da7393 100644
9d8afd3
--- a/monitor/gdu/ggduvolumemonitor.c
9d8afd3
+++ b/monitor/gdu/ggduvolumemonitor.c
9d8afd3
@@ -744,6 +744,32 @@ should_mount_be_ignored (GduPool *pool, GduDevice *d)
9d8afd3
   return ret;
9d8afd3
 }
9d8afd3
 
9d8afd3
+gboolean
9d8afd3
+_is_pc_floppy_drive (GduDevice *device)
9d8afd3
+{
9d8afd3
+  gboolean ret;
9d8afd3
+  gchar **drive_media_compat;
9d8afd3
+  const gchar *drive_connection_interface;
9d8afd3
+
9d8afd3
+  ret = FALSE;
9d8afd3
+
9d8afd3
+  if (device != NULL)
9d8afd3
+    {
9d8afd3
+      drive_media_compat = gdu_device_drive_get_media_compatibility (device);
9d8afd3
+      drive_connection_interface = gdu_device_drive_get_connection_interface (device);
9d8afd3
+
9d8afd3
+      if (g_strcmp0 (drive_connection_interface, "platform") == 0 &&
9d8afd3
+          (drive_media_compat != NULL &&
9d8afd3
+           g_strv_length (drive_media_compat) > 0 &&
9d8afd3
+           g_strcmp0 (drive_media_compat[0], "floppy") == 0))
9d8afd3
+        {
9d8afd3
+          ret = TRUE;
9d8afd3
+        }
9d8afd3
+    }
9d8afd3
+
9d8afd3
+  return ret;
9d8afd3
+}
9d8afd3
+
9d8afd3
 static gboolean
9d8afd3
 should_volume_be_ignored (GduPool *pool, GduVolume *volume, GList *fstab_mount_points)
9d8afd3
 {
9d8afd3
@@ -763,7 +789,7 @@ should_volume_be_ignored (GduPool *pool, GduVolume *volume, GList *fstab_mount_p
9d8afd3
   usage = gdu_device_id_get_usage (device);
9d8afd3
   type = gdu_device_id_get_type (device);
9d8afd3
 
9d8afd3
-  if (g_strcmp0 (usage, "filesystem") == 0)
9d8afd3
+  if (_is_pc_floppy_drive (device) || g_strcmp0 (usage, "filesystem") == 0)
9d8afd3
     {
9d8afd3
       GUnixMountPoint *mount_point;
9d8afd3
 
9d8afd3
diff --git a/monitor/gdu/ggduvolumemonitor.h b/monitor/gdu/ggduvolumemonitor.h
9d8afd3
index ec559c4..b91ceb9 100644
9d8afd3
--- a/monitor/gdu/ggduvolumemonitor.h
9d8afd3
+++ b/monitor/gdu/ggduvolumemonitor.h
9d8afd3
@@ -55,6 +55,8 @@ GType g_gdu_volume_monitor_get_type (void) G_GNUC_CONST;
9d8afd3
 
9d8afd3
 GVolumeMonitor *g_gdu_volume_monitor_new                          (void);
9d8afd3
 
9d8afd3
+gboolean _is_pc_floppy_drive (GduDevice *device);
9d8afd3
+
9d8afd3
 G_END_DECLS
9d8afd3
 
9d8afd3
 #endif /* __G_GDU_VOLUME_MONITOR_H__ */