diff --git a/includes/features.filter.inc b/includes/features.filter.inc
index 4ed2533..1d3faf5 100644
--- a/includes/features.filter.inc
+++ b/includes/features.filter.inc
@@ -106,7 +106,7 @@ function _filter_get_formats() {
     // Prepare a roles array with roles that may access the filter.
     foreach ($roles as $name => $role) {
       if (strstr($row->roles, ','. $role['rid'] .',')) {
-        $format_roles[] = $name;
+        $format_roles[$name] = $name;
       }
     }
     $formats[$row->format] = array(
diff --git a/includes/features.user.inc b/includes/features.user.inc
index c1c4c15..60160d5 100644
--- a/includes/features.user.inc
+++ b/includes/features.user.inc
@@ -87,9 +87,9 @@ function user_permission_features_export_render($module, $data) {
   foreach ($data as $perm_name) {
     $permission = array();
     $permission['name'] = $perm_name;
-    if (isset($permissions[$perm_name])) {
+    if (!empty($permissions[$perm_name])) {
       sort($permissions[$perm_name]);
-      $permission['roles'] = $permissions[$perm_name];
+      $permission['roles'] = drupal_map_assoc($permissions[$perm_name]);
     }
     else {
       $permission['roles'] = array();
