Index: plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c
===================================================================
--- plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c	(revision 758)
+++ plugins/a11y-keyboard/gsd-a11y-keyboard-manager.c	(working copy)
@@ -517,6 +517,25 @@
                                  gboolean                enabled)
 {
 #ifdef HAVE_LIBNOTIFY
+        GList *notify_caps;
+        notify_caps = notify_get_server_caps ();
+        gboolean accepts_actions = FALSE;
+        
+        if(notify_caps != NULL) {
+                GList *c = NULL;
+                for(c = notify_caps; c != NULL; c = c->next) {
+                        /* check if notification server supports actions. Give up otherwise */
+                        if(strcmp((char*)c->data, "actions") == 0) {
+                                accepts_actions = TRUE;
+                                break;
+                        }
+                }
+                g_list_foreach(notify_caps, (GFunc)g_free, NULL);
+                g_list_free(notify_caps);
+        }
+        
+        if ( accepts_actions == FALSE ) return FALSE;
+        
         gboolean    res;
         const char *title;
         const char *message;
@@ -659,6 +678,25 @@
                                    gboolean                enabled)
 {
 #ifdef HAVE_LIBNOTIFY
+        GList *notify_caps;
+        notify_caps = notify_get_server_caps ();
+        gboolean accepts_actions = FALSE;
+        
+        if(notify_caps != NULL) {
+                GList *c = NULL;
+                for(c = notify_caps; c != NULL; c = c->next) {
+                        /* check if notification server supports actions. Give up otherwise */
+                        if(strcmp((char*)c->data, "actions") == 0) {
+                                accepts_actions = TRUE;
+                                break;
+                        }
+                }
+                g_list_foreach(notify_caps, (GFunc)g_free, NULL);
+                g_list_free(notify_caps);
+        }
+        
+        if ( accepts_actions == FALSE ) return FALSE;
+        
         gboolean    res;
         const char *title;
         const char *message;
