diff --git a/plugins/mouse/gsd-mouse-manager.c b/plugins/mouse/gsd-mouse-manager.c
index 1a1fbeb..5afcc7d 100644
--- a/plugins/mouse/gsd-mouse-manager.c
+++ b/plugins/mouse/gsd-mouse-manager.c
@@ -54,15 +54,15 @@
 #define GSD_MOUSE_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GSD_TYPE_MOUSE_MANAGER, GsdMouseManagerPrivate))
 
 #define GCONF_MOUSE_DIR         "/desktop/gnome/peripherals/mouse"
-#define GCONF_MOUSE_A11Y_DIR    "/desktop/gnome/accessibility/mouse"
+#define MOUSETWEAKS_SCHEMA_ID      "org.gnome.mousetweaks"
 #define SETTINGS_TOUCHPAD_DIR      "org.gnome.settings-daemon.peripherals.touchpad"
 
 #define KEY_LEFT_HANDED         GCONF_MOUSE_DIR "/left_handed"
 #define KEY_MOTION_ACCELERATION GCONF_MOUSE_DIR "/motion_acceleration"
 #define KEY_MOTION_THRESHOLD    GCONF_MOUSE_DIR "/motion_threshold"
 #define KEY_LOCATE_POINTER      GCONF_MOUSE_DIR "/locate_pointer"
-#define KEY_DWELL_ENABLE        GCONF_MOUSE_A11Y_DIR "/dwell_enable"
-#define KEY_DELAY_ENABLE        GCONF_MOUSE_A11Y_DIR "/delay_enable"
+#define KEY_DWELL_ENABLED       "dwell-enabled"
+#define KEY_SSC_ENABLED         "ssc-enabled"
 #define KEY_TOUCHPAD_DISABLE_W_TYPING    "disable-while-typing"
 #define KEY_TAP_TO_CLICK        "tap-to-click"
 #define KEY_SCROLL_METHOD       "scroll-method"
@@ -72,14 +72,14 @@
 struct GsdMouseManagerPrivate
 {
         GSettings *touchpad_settings;
+        GSettings *mt_settings;
         guint notify;
-        guint notify_a11y;
 
         gboolean mousetweaks_daemon_running;
         gboolean syndaemon_spawned;
         GPid syndaemon_pid;
-	gboolean locate_pointer_spawned;
-	GPid locate_pointer_pid;
+        gboolean locate_pointer_spawned;
+        GPid locate_pointer_pid;
 };
 
 static void     gsd_mouse_manager_class_init  (GsdMouseManagerClass *klass);
@@ -825,12 +825,12 @@ set_locate_pointer (GsdMouseManager *manager,
 
 static void
 set_mousetweaks_daemon (GsdMouseManager *manager,
-                        gboolean         dwell_enable,
-                        gboolean         delay_enable)
+                        gboolean         dwell_enabled,
+                        gboolean         ssc_enabled)
 {
         GError *error = NULL;
         gchar *comm;
-        gboolean run_daemon = dwell_enable || delay_enable;
+        gboolean run_daemon = dwell_enabled || ssc_enabled;
 
         if (run_daemon || manager->priv->mousetweaks_daemon_running)
                 comm = g_strdup_printf ("mousetweaks %s",
@@ -841,23 +841,17 @@ set_mousetweaks_daemon (GsdMouseManager *manager,
         if (run_daemon)
                 manager->priv->mousetweaks_daemon_running = TRUE;
 
-
         if (! g_spawn_command_line_async (comm, &error)) {
-                if (error->code == G_SPAWN_ERROR_NOENT &&
-                    (dwell_enable || delay_enable)) {
+                if (error->code == G_SPAWN_ERROR_NOENT && run_daemon) {
                         GtkWidget *dialog;
-                        GConfClient *client;
 
-                        client = gconf_client_get_default ();
-                        if (dwell_enable)
-                                gconf_client_set_bool (client,
-                                                       KEY_DWELL_ENABLE,
-                                                       FALSE, NULL);
-                        else if (delay_enable)
-                                gconf_client_set_bool (client,
-                                                       KEY_DELAY_ENABLE,
-                                                       FALSE, NULL);
-                        g_object_unref (client);
+                        if (dwell_enabled) {
+                                g_settings_set_boolean (manager->priv->mt_settings,
+                                                        KEY_DWELL_ENABLED, FALSE);
+                        } else if (ssc_enabled) {
+                                g_settings_set_boolean (manager->priv->mt_settings,
+                                                        KEY_SSC_ENABLED, FALSE);
+                        }
 
                         dialog = gtk_message_dialog_new (NULL, 0,
                                                          GTK_MESSAGE_WARNING,
@@ -866,10 +860,9 @@ set_mousetweaks_daemon (GsdMouseManager *manager,
                         gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
                                                                   _("Mouse accessibility requires Mousetweaks "
                                                                     "to be installed on your system."));
-                        gtk_window_set_title (GTK_WINDOW (dialog),
-                                              _("Mouse Preferences"));
+                        gtk_window_set_title (GTK_WINDOW (dialog), _("Universal Access"));
                         gtk_window_set_icon_name (GTK_WINDOW (dialog),
-                                                  "input-mouse");
+                                                  "preferences-desktop-accessibility");
                         gtk_dialog_run (GTK_DIALOG (dialog));
                         gtk_widget_destroy (dialog);
                 }
@@ -919,18 +912,6 @@ mouse_callback (GConfClient        *client,
                 if (entry->value->type == GCONF_VALUE_BOOL) {
                         set_locate_pointer (manager, gconf_value_get_bool (entry->value));
                 }
-        } else if (g_str_equal (entry->key, KEY_DWELL_ENABLE)) {
-                if (entry->value->type == GCONF_VALUE_BOOL) {
-                        set_mousetweaks_daemon (manager,
-                                                gconf_value_get_bool (entry->value),
-                                                gconf_client_get_bool (client, KEY_DELAY_ENABLE, NULL));
-                }
-        } else if (g_str_equal (entry->key, KEY_DELAY_ENABLE)) {
-                if (entry->value->type == GCONF_VALUE_BOOL) {
-                        set_mousetweaks_daemon (manager,
-                                                gconf_client_get_bool (client, KEY_DWELL_ENABLE, NULL),
-                                                gconf_value_get_bool (entry->value));
-                }
         }
 }
 
@@ -958,6 +939,18 @@ touchpad_callback (GSettings       *settings,
         g_object_unref (client);
 }
 
+static void
+mousetweaks_callback (GSettings       *settings,
+                      const gchar     *key,
+                      GsdMouseManager *manager)
+{
+        if (g_str_equal (key, KEY_DWELL_ENABLED) || g_str_equal (key, KEY_SSC_ENABLED)) {
+                set_mousetweaks_daemon (manager,
+                                        g_settings_get_boolean (settings, KEY_DWELL_ENABLED),
+                                        g_settings_get_boolean (settings, KEY_SSC_ENABLED));
+        }
+}
+
 static guint
 register_config_callback (GsdMouseManager         *manager,
                           GConfClient             *client,
@@ -988,11 +981,10 @@ gsd_mouse_manager_idle_cb (GsdMouseManager *manager)
                                           client,
                                           GCONF_MOUSE_DIR,
                                           (GConfClientNotifyFunc) mouse_callback);
-        manager->priv->notify_a11y =
-                register_config_callback (manager,
-                                          client,
-                                          GCONF_MOUSE_A11Y_DIR,
-                                          (GConfClientNotifyFunc) mouse_callback);
+
+        manager->priv->mt_settings = g_settings_new (MOUSETWEAKS_SCHEMA_ID);
+        g_signal_connect (manager->priv->mt_settings, "changed",
+                          G_CALLBACK (mousetweaks_callback), manager);
 
         manager->priv->touchpad_settings = g_settings_new (SETTINGS_TOUCHPAD_DIR);
         g_signal_connect (manager->priv->touchpad_settings, "changed",
@@ -1004,8 +996,8 @@ gsd_mouse_manager_idle_cb (GsdMouseManager *manager)
         set_mouse_settings (manager);
         set_locate_pointer (manager, gconf_client_get_bool (client, KEY_LOCATE_POINTER, NULL));
         set_mousetweaks_daemon (manager,
-                                gconf_client_get_bool (client, KEY_DWELL_ENABLE, NULL),
-                                gconf_client_get_bool (client, KEY_DELAY_ENABLE, NULL));
+                                g_settings_get_boolean (manager->priv->mt_settings, KEY_DWELL_ENABLED),
+                                g_settings_get_boolean (manager->priv->mt_settings, KEY_SSC_ENABLED));
 
         set_disable_w_typing (manager, g_settings_get_boolean (manager->priv->touchpad_settings, KEY_TOUCHPAD_DISABLE_W_TYPING));
         set_tap_to_click (g_settings_get_boolean (manager->priv->touchpad_settings, KEY_TAP_TO_CLICK),
@@ -1050,15 +1042,13 @@ gsd_mouse_manager_stop (GsdMouseManager *manager)
                 p->notify = 0;
         }
 
-        if (p->notify_a11y != 0) {
-                gconf_client_remove_dir (client, GCONF_MOUSE_A11Y_DIR, NULL);
-                gconf_client_notify_remove (client, p->notify_a11y);
-                p->notify_a11y = 0;
-        }
-
         g_object_unref (client);
-        g_object_unref (manager->priv->touchpad_settings);
-        manager->priv->touchpad_settings = NULL;
+
+        g_object_unref (p->mt_settings);
+        p->mt_settings = NULL;
+
+        g_object_unref (p->touchpad_settings);
+        p->touchpad_settings = NULL;
 
         set_locate_pointer (manager, FALSE);
 
@@ -1077,11 +1067,12 @@ gsd_mouse_manager_finalize (GObject *object)
 
         g_return_if_fail (mouse_manager->priv != NULL);
 
+        if (mouse_manager->priv->mt_settings)
+                g_object_unref (mouse_manager->priv->mt_settings);
+
         if (mouse_manager->priv->touchpad_settings != NULL)
                 g_object_unref (mouse_manager->priv->touchpad_settings);
 
-        g_free (mouse_manager->priv);
-
         G_OBJECT_CLASS (gsd_mouse_manager_parent_class)->finalize (object);
 }
 
