diff --git a/includes/features.user.inc b/includes/features.user.inc
index 77f025b..e913c9a 100644
--- a/includes/features.user.inc
+++ b/includes/features.user.inc
@@ -122,10 +122,17 @@ 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])) {
+        $args = array('!name' => $perm, '!module' => $module,);
+        $msg = t('Error in features rebuild of !module. No module defines permission "!name".', $args);
+        drupal_set_message($msg, 'warning');
+        continue;
+      }
       foreach ($roles as $role) {
         if (in_array($role, $permission['roles'])) {
           $permissions_by_role[$role][$perm] = TRUE;
