diff --git a/monitor/gdu/ggduvolume.c b/monitor/gdu/ggduvolume.c
index 1633c0d..5a4d26f 100644
--- a/monitor/gdu/ggduvolume.c
+++ b/monitor/gdu/ggduvolume.c
@@ -103,6 +103,19 @@ static void gdu_cleartext_volume_job_changed (GduPresentable *presentable,
 
 static void mount_with_mount_operation (MountOpData *data);
 
+static gboolean
+g_gdu_drive_device_is_flash(GduDevice *drive_device)
+{
+	const gchar *drive_media;
+
+	if (drive_device == NULL)
+		return FALSE;
+
+	drive_media = gdu_device_drive_get_media (drive_device);
+
+	return g_str_has_prefix (drive_media, "flash");
+}
+
 static void
 g_gdu_volume_finalize (GObject *object)
 {
@@ -382,12 +395,14 @@ update_volume (GGduVolume *volume)
                   if (gdu_device_is_drive (drive_device))
                     {
                       const gchar *connection_interface;
+        							const gchar *drive_media = gdu_device_drive_get_media (drive_device);
 
                       connection_interface = gdu_device_drive_get_connection_interface (drive_device);
 
                       if (g_strcmp0 (connection_interface, "usb") == 0 ||
                           g_strcmp0 (connection_interface, "firewire") == 0 ||
                           g_strcmp0 (connection_interface, "sdio") == 0 ||
+													g_gdu_drive_device_is_flash(drive_device) ||
                           gdu_device_is_optical_disc (drive_device))
                         {
                           volume->should_automount = TRUE;
