diff --git a/monitor/gdu/ggduvolume.c b/monitor/gdu/ggduvolume.c
index 0665b7a..a105996 100644
--- a/monitor/gdu/ggduvolume.c
+++ b/monitor/gdu/ggduvolume.c
@@ -103,6 +103,45 @@ static void gdu_cleartext_volume_job_changed (GduPresentable *presentable,
 
 static void mount_with_mount_operation (MountOpData *data);
 
+
+static gboolean
+g_gdu_drive_device_automount_policy_always (GduDevice *drive_device)
+{
+  const gchar *device_auto_mount_hint;
+  gboolean rc = FALSE;
+
+  if (drive_device == NULL)
+    return FALSE;
+
+  device_auto_mount_hint = gdu_device_get_auto_mount_hint (drive_device);
+
+  if (g_strcmp0 (device_auto_mount_hint,"always") == 0)
+    rc = TRUE;
+  else
+    rc = FALSE;
+
+  return rc;
+}
+
+static gboolean
+g_gdu_drive_device_automount_policy_never (GduDevice *drive_device)
+{
+  const gchar *device_auto_mount_hint;
+  gboolean rc = FALSE;
+
+  if (drive_device == NULL)
+    return FALSE;
+
+  device_auto_mount_hint = gdu_device_get_auto_mount_hint (drive_device);
+
+  if (g_strcmp0 (device_auto_mount_hint, "never") == 0)
+    rc = TRUE;
+  else
+    rc = FALSE;
+
+  return rc;
+}
+
 static gboolean
 g_gdu_drive_device_is_flash(GduDevice *drive_device)
 {
@@ -397,14 +436,18 @@ update_volume (GGduVolume *volume)
 
                       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))
+                      if (g_gdu_drive_device_automount_policy_never (drive_device) == FALSE)
                         {
-                          volume->should_automount = TRUE;
-                        }
+                          if (g_strcmp0 (connection_interface, "usb") == 0 ||
+                            	g_strcmp0 (connection_interface, "firewire") == 0 ||
+                            	g_strcmp0 (connection_interface, "sdio") == 0 ||
+                            	g_gdu_drive_device_automount_policy_always (drive_device) ||
+                            	g_gdu_drive_device_is_flash (drive_device) ||
+                            	gdu_device_is_optical_disc (drive_device))
+                            {
+                              volume->should_automount = TRUE;
+                            }
+                        } 
                     }
                   g_object_unref (drive_device);
                 }
