--- gnome-disk-utility-2.30.1.orig/src/notification/notification-main.c
+++ gnome-disk-utility-2.30.1/src/notification/notification-main.c
@@ -426,25 +428,31 @@ update_ata_smart_failures (NotificationD
 
         for (l = devices; l != NULL; l = l->next) {
                 GduDevice *device = GDU_DEVICE (l->data);
-                gboolean available;
-                const gchar *status;
-                guint64 time_collected;
-
-                available = gdu_device_drive_ata_smart_get_is_available (device);
-                time_collected = gdu_device_drive_ata_smart_get_time_collected (device);
-                status = gdu_device_drive_ata_smart_get_status (device);
-
-                if (!available || time_collected == 0)
-                        continue;
 
-                /* only warn on these statuses.. */
-                if (!((g_strcmp0 (status, "BAD_SECTOR_MANY") == 0) ||
-                      (g_strcmp0 (status, "BAD_ATTRIBUTE_NOW") == 0) ||
-                      (g_strcmp0 (status, "BAD_STATUS") == 0)))
-                        continue;
+                if (gdu_device_is_linux_md(device)) {
+                        if (!gdu_device_linux_md_is_degraded(device))
+                                continue;
+                } else {
+                        gboolean available;
+                        const gchar *status;
+                        guint64 time_collected;
+
+                        available = gdu_device_drive_ata_smart_get_is_available (device);
+                        time_collected = gdu_device_drive_ata_smart_get_time_collected (device);
+                        status = gdu_device_drive_ata_smart_get_status (device);
+
+                        if (!available || time_collected == 0)
+                                continue;
+
+                        /* only warn on these statuses.. */
+                        if (!((g_strcmp0 (status, "BAD_SECTOR_MANY") == 0) ||
+                              (g_strcmp0 (status, "BAD_ATTRIBUTE_NOW") == 0) ||
+                              (g_strcmp0 (status, "BAD_STATUS") == 0)))
+                                continue;
 
-                if (get_ata_smart_no_warn (device))
-                        continue;
+                        if (get_ata_smart_no_warn (device))
+                                continue;
+                }
 
                 current = g_list_prepend (current, device);
         }
