diff --git a/includes/features.user.inc b/includes/features.user.inc
index 77f025b..dea0379 100644
--- a/includes/features.user.inc
+++ b/includes/features.user.inc
@@ -122,10 +122,20 @@ function user_permission_features_rebuild($module) {
     // or via drush.
     node_types_rebuild();
 
+    $modules = user_permission_get_modules();
     $roles = _user_features_get_roles();
     $permissions_by_role = _user_features_get_permissions(FALSE);
     foreach ($defaults as $permission) {
       $perm = $permission['name'];
+      if (empty($modules[$perm])) {
+        $sentences = array(
+          'Error in features rebuild of !module.',
+          'No module defines permission "!name".',
+        );
+        $arguments = array('!name' => $perm, '!module' => $module,);
+        drupal_set_message(t(implode(' ', $sentences), $arguments), 'warning');
+        continue;
+      }
       foreach ($roles as $role) {
         if (in_array($role, $permission['roles'])) {
           $permissions_by_role[$role][$perm] = TRUE;
