diff --git a/languages/en_us/Settings/Roles.php b/languages/en_us/Settings/Roles.php
index dd9d11ab16bc3a0855ef8f70174ba7bf6c5c680d..77ab8b62e0f05352827b2e69ec855df35f88c0ac 100644
--- a/languages/en_us/Settings/Roles.php
+++ b/languages/en_us/Settings/Roles.php
@@ -35,6 +35,7 @@ $languageStrings = array(
 	'LBL_ALL_USERS' => 'All Users',
 	'LBL_USERS_WITH_LOWER_LEVEL' => 'Users having Subordinate Role',
 	'LBL_USERS_WITH_SAME_OR_LOWER_LEVEL' => 'Users having Same Role or Subordinate Role',
+        'LBL_USERS_WITH_SAME_LEVEL_AND_SUBORDINATES' => 'Users having Same Level or Subordinate Role',
     
     /*Vtiger7 String*/
     'LBL_EDIT_ROLE' => 'Edit Role',
diff --git a/layouts/v7/modules/Settings/Roles/EditView.tpl b/layouts/v7/modules/Settings/Roles/EditView.tpl
index 917115bcb08a73015d162f03ef9dbb845792bee7..a73e5bd04410bf781aa24966c04614e58f842eb2 100644
--- a/layouts/v7/modules/Settings/Roles/EditView.tpl
+++ b/layouts/v7/modules/Settings/Roles/EditView.tpl
@@ -68,6 +68,11 @@
                                 <div class="radio">
                                     <label>
                                     <input type="radio" value="2" {if $RECORD_MODEL->get('allowassignedrecordsto') eq '2'} checked="" {/if} name="allowassignedrecordsto" data-handler="new" class="alignTop"/>
+                                    &nbsp;{vtranslate('LBL_USERS_WITH_SAME_LEVEL_AND_SUBORDINATES',$QUALIFIED_MODULE)}</label>
+                                </div>
+                                <div class="radio">
+                                    <label>
+                                    <input type="radio" value="4" {if $RECORD_MODEL->get('allowassignedrecordsto') eq '4'} checked="" {/if} name="allowassignedrecordsto" data-handler="new" class="alignTop"/>
                                     &nbsp;{vtranslate('LBL_USERS_WITH_SAME_OR_LOWER_LEVEL',$QUALIFIED_MODULE)}</label>
                                 </div>
                                 <div class="radio">
diff --git a/modules/Users/models/Record.php b/modules/Users/models/Record.php
index 0308b1739a918d5a593258f7bbb8d6d00286177f..c6933e9c25f1a6226191a659f76e152622fee179 100644
--- a/modules/Users/models/Record.php
+++ b/modules/Users/models/Record.php
@@ -426,6 +426,8 @@ class Users_Record_Model extends Vtiger_Record_Model {
         if(empty($accessibleUser)) {
 			if($currentUserRoleModel->get('allowassignedrecordsto') === '1' || $private == 'Public') {
 				$accessibleUser = get_user_array(false, "ACTIVE", "", $private,$module);
+			} else if($currentUserRoleModel->get('allowassignedrecordsto') === '4'){
+				$accessibleUser = $this->getSameRolelUsersWithSubordinates();
 			} else if($currentUserRoleModel->get('allowassignedrecordsto') === '2'){
 				$accessibleUser = $this->getSameLevelUsersWithSubordinates();
 			} else if($currentUserRoleModel->get('allowassignedrecordsto') === '3') {
@@ -436,6 +438,24 @@ class Users_Record_Model extends Vtiger_Record_Model {
 		return $accessibleUser;
 	}
 
+	/**
+	 * Function to get same ROLE and subordinates Users
+	 * @return <array> Users
+	 */
+	public function getSameRolelUsersWithSubordinates(){
+		$currentUserRoleModel = Settings_Roles_Record_Model::getInstanceById($this->getRole());
+                $roleID = $currentUserRoleModel->getId();
+		//$sameLevelRoles = $currentUserRoleModel->getSameLevelRoles();
+                //$sameLevelUsers = $this->getAllUsersOnRoles($sameLevelRoles);
+                $thisRole = array($roleID =>$currentUserRoleModel );
+                $sameLevelUsers = $this->getAllUsersOnRoles($thisRole);
+		$subordinateUsers = $this->getRoleBasedSubordinateUsers();
+		foreach ($subordinateUsers as $userId => $userName) {
+			$sameLevelUsers[$userId] = $userName;
+		}
+		return $sameLevelUsers;
+	}
+        
 	/**
 	 * Function to get same level and subordinates Users
 	 * @return <array> Users