diff --git a/rules/modules/rules.events.inc b/rules/modules/rules.events.inc
index 26c9a62..9ebc890 100644
--- a/rules/modules/rules.events.inc
+++ b/rules/modules/rules.events.inc
@@ -29,13 +29,18 @@ function rules_user($op, &$edit, &$account, $category = NULL) {
   static $account_unchanged;
 
   // We don't support updates for other categories than 'account'
-  if ($op == 'update' && $category == 'account') {
+  if ($op == 'update') {
     // Save the unchanged account for the use with op after_update.
     $account_unchanged = drupal_clone($account);
   }
-  else if ($op == 'after_update' && $category == 'account') {
+  else if ($op == 'after_update') {
+	if ($category == 'account') {
     rules_invoke_event('user_update', array('account' => &$account, 'account_unchanged' => $account_unchanged));
   }
+  else {
+	rules_invoke_event('user_update_profile', array('account' => &$account, 'account_unchanged' => $account_unchanged));
+	}
+	}
   else if (in_array($op, array('insert', 'login', 'logout', 'view', 'delete'))) {
     // At user creation add the assigned roles which are not available in
     // $account yet to $account, so rules is aware of them.
diff --git a/rules/modules/user.rules.inc b/rules/modules/user.rules.inc
index 586cb6f..b1ca1a3 100644
--- a/rules/modules/user.rules.inc
+++ b/rules/modules/user.rules.inc
@@ -26,6 +26,13 @@ function user_rules_event_info() {
         'account_unchanged' => array('type' => 'user', 'label' => t('unchanged user')),
       ),
     ),
+	'user_update_profile' => array(
+     'label' => t('User profile details have been updated'),
+      'module' => 'User',
+      'arguments' => rules_events_hook_user_arguments(t('updated user')) + array(
+       'account_unchanged' => array('type' => 'user', 'label' => t('unchanged user')),
+     ),
+    ),
     'user_view' => array(
       'label' => t('User page has been viewed'),
       'module' => 'User',
