Index: modules/user/user.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.admin.inc,v
retrieving revision 1.60
diff -u -p -r1.60 user.admin.inc
--- modules/user/user.admin.inc	1 Jul 2009 08:39:56 -0000	1.60
+++ modules/user/user.admin.inc	5 Jul 2009 09:20:21 -0000
@@ -952,11 +952,11 @@ function user_modules_installed($modules
 function user_modules_uninstalled($modules) {
   $permissions = array();
   foreach ($modules as $module) {
-    $permissions = array_merge($permissions, array_keys(module_invoke($module, 'perm')));
-  }
-  if (!empty($permissions)) {
-    db_delete('role_permission')
-      ->condition('permission', $permissions, 'IN')
-      ->execute();
+    if (drupal_function_exists($module . '_perm')) {
+      $permissions = array_merge($permissions, array_keys(module_invoke($module, 'perm')));
+    }
   }
+  db_delete('role_permission')
+    ->condition('permission', $permissions, 'IN')
+    ->execute();
 }
