diff --git a/lib/Drupal/configuration/Config/PermissionConfiguration.php b/lib/Drupal/configuration/Config/PermissionConfiguration.php
index e12950c..5e80589 100644
--- a/lib/Drupal/configuration/Config/PermissionConfiguration.php
+++ b/lib/Drupal/configuration/Config/PermissionConfiguration.php
@@ -200,21 +200,28 @@ class PermissionConfiguration extends Configuration {
    */
   public function saveToActiveStore(ConfigIteratorSettings &$settings) {
     node_types_rebuild();
-
+    $exist = FALSE;
     $roles = static::get_roles();
     $permissions_by_role = static::get_permissions(FALSE);
 
     $permission = $this->getData();
     $perm = $permission['permission'];
     foreach ($roles as $role) {
-      if (in_array($role, $permission['roles'])) {
-        $permissions_by_role[$role][$perm] = TRUE;
-      }
-      else {
-        $permissions_by_role[$role][$perm] = FALSE;
+      if (isset($permissions_by_role[$role][$perm])) {
+        $exist = TRUE;
+        if (in_array($role, $permission['roles'])) {
+          $permissions_by_role[$role][$perm] = TRUE;
+        }
+        else {
+          $permissions_by_role[$role][$perm] = FALSE;
+        }
       }
     }
 
+    if(!$exist) {
+      drupal_set_message(t('Configuration Management: Permission %permission does not exist and can not be set.', array('%permission' => $perm)), 'error');
+    }
+
     // Write the updated permissions.
     foreach ($roles as $rid => $role) {
       if (isset($permissions_by_role[$role])) {
