diff --git a/modules/user/user.admin.inc b/modules/user/user.admin.inc
index 121f4b9b00697dceb26ff53f5cc6279f6079c007..fede3de58f0d4e30353bcfe7e694b73fe6d6d97f 100644
--- a/modules/user/user.admin.inc
+++ b/modules/user/user.admin.inc
@@ -952,7 +952,9 @@ 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, 'permission')));
+    if (drupal_function_exists($module . '_permission')) {
+      $permissions = array_merge($permissions, array_keys(module_invoke($module, 'permission')));
+    }
   }
   if (!empty($permissions)) {
     db_delete('role_permission')