diff --git a/config/schema/user_default_page_config_entity.schema.yml b/config/schema/user_default_page_config_entity.schema.yml
index ebc6a88..bf88691 100644
--- a/config/schema/user_default_page_config_entity.schema.yml
+++ b/config/schema/user_default_page_config_entity.schema.yml
@@ -16,6 +16,9 @@ user_default_page.user_default_page_config_entity.*:
     users:
       type: string
       label: 'User(s)'
+    role_pref:
+      type: string
+      label: 'User Preference'
     login_redirect:
       type: string
       label: 'Login Redirect'
diff --git a/src/Entity/UserDefaultPageConfigEntity.php b/src/Entity/UserDefaultPageConfigEntity.php
index 8cc8539..993522a 100644
--- a/src/Entity/UserDefaultPageConfigEntity.php
+++ b/src/Entity/UserDefaultPageConfigEntity.php
@@ -74,6 +74,13 @@ class UserDefaultPageConfigEntity extends ConfigEntityBase implements UserDefaul
   protected $user_roles;
 
   /**
+   * The User role preference.
+   *
+   * @var string
+   */
+  protected $role_pref;
+  
+  /**
    * The User default page login redirect.
    *
    * @var string
@@ -126,6 +133,13 @@ class UserDefaultPageConfigEntity extends ConfigEntityBase implements UserDefaul
   /**
    * {@inheritdoc}
    */
+  public function get_role_pref() {
+    return $this->role_pref;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
   public function get_login_redirect() {
     return $this->login_redirect;
   }
diff --git a/src/Form/UserDefaultPageConfigEntityForm.php b/src/Form/UserDefaultPageConfigEntityForm.php
index cea0ce9..b23ca9d 100644
--- a/src/Form/UserDefaultPageConfigEntityForm.php
+++ b/src/Form/UserDefaultPageConfigEntityForm.php
@@ -44,6 +44,8 @@ class UserDefaultPageConfigEntityForm extends EntityForm {
       '#collapsed' => FALSE,
     ];
     $roles = ['' => '-Select-'];
+    $preffered_role = ['' => 'none'];;
+    $preffered_role[1] = 'Preferred';
     foreach (user_roles(TRUE) as $role) {
       $roles[$role->id()] = $role->label();
     }
@@ -55,6 +57,13 @@ class UserDefaultPageConfigEntityForm extends EntityForm {
       '#default_value' => $user_default_page_config_entity->get_user_roles(),
       '#multiple' => TRUE,
     ];
+    $form['roles_fieldset']['role_pref'] = [
+      '#title' => $this->t('User Roles Preference'),
+      '#type' => 'radios',
+      '#description' => $this->t("If user have more than one Role than choose the preference"),
+      '#options' => $preffered_role,
+      '#default_value' => $user_default_page_config_entity->get_role_pref(),
+    ];
     $form['roles_fieldset']['markup'] = [
       '#markup' => '<b>'.$this->t('Select Role or User or both.').'</b>',
     ];
diff --git a/user_default_page.module b/user_default_page.module
index d06ccf7..64b64da 100644
--- a/user_default_page.module
+++ b/user_default_page.module
@@ -31,18 +31,25 @@ function user_default_page_user_logout($account) {
   // Load all entities belongs to "user_default_page_config_entity".
   $entities_load = \Drupal::entityTypeManager()->getStorage('user_default_page_config_entity')->loadMultiple();
   // Get User Role(s).
-  $roles  = $account->getRoles();
+  $roles = $account->getRoles();
   $uid = $account->id();
   $logout_redirect = '';
+  $pref_logout_redirect = '';
   $logout_message = '';
   // Check for redirect logout path.
   foreach ($entities_load as $entity) {
-    if (array_intersect($entity->get_user_roles(), $roles)) {
-      $logout_redirect = $entity->get_logout_redirect();
+    if ($filter_role = array_intersect($entity->get_user_roles(), $roles)) {
+      if (!empty($entity->get_role_pref())) {
+        $pref_logout_redirect = $entity->get_logout_redirect();
+        $logout_redirect = $pref_logout_redirect;
+      }
+      else if ($pref_logout_redirect == '') {
+        $logout_redirect = $entity->get_logout_redirect();
+      }
       $logout_message = $entity->get_logout_redirect_message();
     }
     $users_array = $entity->get_users();
-    if (strpos($users_array, $uid.',') !== false) {
+    if (strpos($users_array, $uid . ',') !== false) {
       $logout_redirect = $entity->get_logout_redirect();
       $logout_message = $entity->get_logout_redirect_message();
     }
@@ -61,18 +68,25 @@ function user_default_page_user_login($account) {
   // Load all entities belongs to "user_default_page_config_entity".
   $entities_load = \Drupal::entityTypeManager()->getStorage('user_default_page_config_entity')->loadMultiple();
   // Get User Role(s).
-  $roles  = $account->getRoles();
+  $roles = $account->getRoles();
   $uid = $account->id();
   $login_redirect = '';
+  $pref_login_redirect = '';
   $login_message = '';
   // Check for redirect login path.
   foreach ($entities_load as $entity) {
     if (array_intersect($entity->get_user_roles(), $roles)) {
-      $login_redirect = $entity->get_login_redirect();
+      if (!empty($entity->get_role_pref())) {
+        $pref_login_redirect = $entity->get_login_redirect();
+        $login_redirect = $pref_login_redirect;
+      }
+      else if ($pref_login_redirect == '') {
+        $login_redirect = $entity->get_login_redirect();
+      }
       $login_message = $entity->get_login_redirect_message();
     }
     $users_array = $entity->get_users();
-    if (strpos($users_array, $uid.',') !== false) {
+    if (strpos($users_array, $uid . ',') !== false) {
       $login_redirect = $entity->get_login_redirect();
       $login_message = $entity->get_login_redirect_message();
     }
