diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power-manager.c
index c6aef22..e4cd995 100644
--- a/plugins/power/gsd-power-manager.c
+++ b/plugins/power/gsd-power-manager.c
@@ -1,7 +1,8 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
  *
  * Copyright (C) 2007 William Jon McCann <mccann@jhu.edu>
- * Copyright (C) 2011 Richard Hughes <richard@hughsiec
+ * Copyright (C) 2011 Richard Hughes <richard@hughsiec.com>
+ * Copyright (C) 2011 Ritesh Khadgaray <khadgaray@gmail.com>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -108,6 +109,8 @@ static const gchar introspection_xml[] =
 "      <arg type='u' name='percentage' direction='in'/>"
 "      <arg type='u' name='new_percentage' direction='out'/>"
 "    </method>"
+"    <signal name='Changed'>"
+"    </signal>"
 "  </interface>"
 "  <interface name='org.gnome.SettingsDaemon.Power.Keyboard'>"
 "    <method name='StepUp'>"
@@ -2413,6 +2416,28 @@ backlight_get_max (GsdPowerManager *manager, GError **error)
         return  backlight_helper_get_value ("get-max-brightness", error);
 }
 
+static void
+backlight_emit_changed (GsdPowerManager *manager)
+{
+        gboolean ret;
+        GError *error = NULL;
+
+        /* not yet connected to the bus */
+        if (manager->priv->connection == NULL)
+                return;
+        ret = g_dbus_connection_emit_signal (manager->priv->connection,
+                                             GSD_DBUS_SERVICE,
+                                             GSD_POWER_DBUS_PATH,
+                                             GSD_POWER_DBUS_INTERFACE_SCREEN,
+                                             "Changed",
+                                             NULL,
+                                             &error);
+        if (!ret) {
+                g_warning ("failed to emit Changed: %s", error->message);
+                g_error_free (error);
+        }
+}
+
 static gboolean
 backlight_set_percentage (GsdPowerManager *manager,
                           guint value,
@@ -2449,6 +2474,7 @@ backlight_set_percentage (GsdPowerManager *manager,
                                           discrete,
                                           error);
 out:
+	backlight_emit_changed (manager);
         return ret;
 }
 
@@ -2498,6 +2524,7 @@ backlight_step_up (GsdPowerManager *manager, GError **error)
         if (ret)
                 percentage_value = ABS_TO_PERCENTAGE (min, max, discrete);
 out:
+	backlight_emit_changed (manager);
         return percentage_value;
 }
 
@@ -2547,6 +2574,7 @@ backlight_step_down (GsdPowerManager *manager, GError **error)
         if (ret)
                 percentage_value = ABS_TO_PERCENTAGE (min, max, discrete);
 out:
+	backlight_emit_changed (manager);
         return percentage_value;
 }
 
@@ -2572,6 +2600,7 @@ backlight_set_abs (GsdPowerManager *manager,
                                           value,
                                           error);
 out:
+	backlight_emit_changed (manager);
         return ret;
 }
 
