diff --git a/include/ListView/ListViewController.php b/include/ListView/ListViewController.php
index 27d737235ece1ea037e5c0458ce472487b1def43..c496d13eb429bcd4e59bcf4118671fbf3ee06f16 100644
--- a/include/ListView/ListViewController.php
+++ b/include/ListView/ListViewController.php
@@ -57,7 +57,7 @@ class ListViewController {
 		$isRoleBased = vtws_isRoleBasedPicklist($name);
 		$this->picklistRoleMap[$name] = $isRoleBased;
 		if ($this->picklistRoleMap[$name]) {
-			$this->picklistValueMap[$name] = getAssignedPicklistValues($name,$this->user->roleid, $this->db);
+			$this->picklistValueMap[$name] = getAllPickListValues($name,$this->user->roleid, $this->db);
 		}
 	}
 
diff --git a/layouts/v7/modules/Vtiger/resources/Field.js b/layouts/v7/modules/Vtiger/resources/Field.js
index d254bc78fdfb650af6f84f46a0a594f4ed027af3..a9bd9ee360a3bc582dfb05b41e44ce78f63c0a38 100644
--- a/layouts/v7/modules/Vtiger/resources/Field.js
+++ b/layouts/v7/modules/Vtiger/resources/Field.js
@@ -327,7 +327,7 @@ Vtiger_Field_Js('Vtiger_Multipicklist_Field_Js',{},{
 	 * @return <object> key value pair of options
 	 */
 	getPickListValues : function() {
-		return this.get('editablepicklistvalues');
+		return this.get('picklistvalues');
 	},
 
 	getSelectedOptions : function(selectedOption){
diff --git a/layouts/v7/modules/Vtiger/uitypes/MultiPicklist.tpl b/layouts/v7/modules/Vtiger/uitypes/MultiPicklist.tpl
index bf1e30c8f8a44310ada4a6b8854cef1821411f0e..6a3b0aa03af145d8cf9cf14075134d11da5f14e6 100644
--- a/layouts/v7/modules/Vtiger/uitypes/MultiPicklist.tpl
+++ b/layouts/v7/modules/Vtiger/uitypes/MultiPicklist.tpl
@@ -13,7 +13,7 @@
 	{assign var="FIELD_INFO" value=$FIELD_MODEL->getFieldInfo()}
 	{assign var="SPECIAL_VALIDATOR" value=$FIELD_MODEL->getValidator()}
 	{assign var="FIELD_VALUE_LIST" value=explode(' |##| ',$FIELD_MODEL->get('fieldvalue'))}
-	{assign var=PICKLIST_VALUES value=$FIELD_INFO['picklistvalues']}
+	{assign var=PICKLIST_VALUES value=$FIELD_INFO['editablepicklistvalues']}
 	{assign var=PICKLIST_COLORS value=$FIELD_INFO['picklistColors']}
 	<input type="hidden" name="{$FIELD_MODEL->getFieldName()}" value=""  data-fieldtype="multipicklist"/>
 	<select id="{$MODULE}_{$smarty.request.view}_fieldName_{$FIELD_MODEL->getFieldName()}" multiple class="select2" name="{$FIELD_MODEL->getFieldName()}[]" data-fieldtype="multipicklist" style='width:210px;height:30px;' 
diff --git a/layouts/v7/modules/Vtiger/uitypes/Picklist.tpl b/layouts/v7/modules/Vtiger/uitypes/Picklist.tpl
index 0ab5518e2b71ca4847d4a700cf25553214709178..a508a0ed75839e7b2d39fdb52e98291b2e5d6095 100644
--- a/layouts/v7/modules/Vtiger/uitypes/Picklist.tpl
+++ b/layouts/v7/modules/Vtiger/uitypes/Picklist.tpl
@@ -10,7 +10,7 @@
 {strip}
 {assign var="FIELD_INFO" value=$FIELD_MODEL->getFieldInfo()}
 {assign var="SPECIAL_VALIDATOR" value=$FIELD_MODEL->getValidator()}
-{assign var=PICKLIST_VALUES value=$FIELD_INFO['picklistvalues']}
+{assign var=PICKLIST_VALUES value=$FIELD_INFO['editablepicklistvalues']}
 {assign var=PICKLIST_COLORS value=$FIELD_INFO['picklistColors']}
 <select data-fieldname="{$FIELD_MODEL->getFieldName()}" data-fieldtype="picklist" class="inputElement select2 {if $OCCUPY_COMPLETE_WIDTH} row {/if}" type="picklist" name="{$FIELD_MODEL->getFieldName()}" {if !empty($SPECIAL_VALIDATOR)}data-validator='{Zend_Json::encode($SPECIAL_VALIDATOR)}'{/if} data-selected-value='{$FIELD_MODEL->get('fieldvalue')}'
 	{if $FIELD_INFO["mandatory"] eq true} data-rule-required="true" {/if}
diff --git a/layouts/v7/modules/Vtiger/uitypes/Salutation.tpl b/layouts/v7/modules/Vtiger/uitypes/Salutation.tpl
index 864bc972b37e9c47387bd08526c4011ced7d477a..cf98283d12e9e37ac256dfbdbff1ca48ff9c2e5a 100644
--- a/layouts/v7/modules/Vtiger/uitypes/Salutation.tpl
+++ b/layouts/v7/modules/Vtiger/uitypes/Salutation.tpl
@@ -9,7 +9,7 @@
 
 {strip}
 	{if $SALUTATION_FIELD_MODEL}
-		{assign var=PICKLIST_VALUES value=$SALUTATION_FIELD_MODEL->getPicklistValues()}
+		{assign var=PICKLIST_VALUES value=$SALUTATION_FIELD_MODEL->getEditablePicklistValues()}
 		{assign var="SALUTATION_VALIDATOR" value=$SALUTATION_FIELD_MODEL->getValidator()}
 		<select class="inputElement select2" style="width:78px;" name="{$SALUTATION_FIELD_MODEL->get('name')}" >
 			{if $SALUTATION_FIELD_MODEL->isEmptyPicklistOptionAllowed()}<option value="">{vtranslate('LBL_NONE', $MODULE)}</option>{/if}
diff --git a/modules/Calendar/models/DetailRecordStructure.php b/modules/Calendar/models/DetailRecordStructure.php
index c6a5dc9d0beb49670d90f4d921138d660f44f8fe..c86ea71416634d0ad6728f76d1745eb08c012f6a 100644
--- a/modules/Calendar/models/DetailRecordStructure.php
+++ b/modules/Calendar/models/DetailRecordStructure.php
@@ -56,15 +56,4 @@ class Calendar_DetailRecordStructure_Model extends Vtiger_DetailRecordStructure_
 		$this->structuredValues = $values;
 		return $values;
 	}
-    
-    public function setupAccessiblePicklistValueList($name) {
-        $db = PearDatabase::getInstance();
-        $currentUsersModel = Users_Record_Model::getCurrentUserModel();
-        $roleId = $currentUsersModel->getRole();
-        $isRoleBased = vtws_isRoleBasedPicklist($name);
-        $this->picklistRoleMap[$name] = $isRoleBased;
-        if ($this->picklistRoleMap[$name]) {
-            $this->picklistValueMap[$name] = getAssignedPicklistValues($name,$roleId, $db);
-        }
-    }
 }
\ No newline at end of file
diff --git a/modules/HelpDesk/models/Module.php b/modules/HelpDesk/models/Module.php
index 7f82378012e17cef4242631fc027c3b3a5d1e8d5..f933f9c3b1a04ea0c467dba2dbed736f110bb04a 100644
--- a/modules/HelpDesk/models/Module.php
+++ b/modules/HelpDesk/models/Module.php
@@ -65,11 +65,9 @@ class HelpDesk_Module_Model extends Vtiger_Module_Model {
 		$db = PearDatabase::getInstance();
 		//TODO need to handle security
 		$params = array();
-		if(vtws_isRoleBasedPicklist('ticketstatus')) {
-			$currentUserModel = Users_Record_Model::getCurrentUserModel();
-			$picklistvaluesmap = getAssignedPicklistValues("ticketstatus",$currentUserModel->getRole(), $db);
-			if(in_array('Open', $picklistvaluesmap)) $params[] = 'Open';
-		}
+		$picklistvaluesmap = getAllPickListValues("ticketstatus");
+        if(in_array('Open', $picklistvaluesmap)) $params[] = 'Open';
+        
 		if(count($params) > 0) {
 		$result = $db->pquery('SELECT count(*) AS count, COALESCE(vtiger_groups.groupname,concat(vtiger_users.first_name, " " ,vtiger_users.last_name)) as name, COALESCE(vtiger_groups.groupid,vtiger_users.id) as id  FROM vtiger_troubletickets
 						INNER JOIN vtiger_crmentity ON vtiger_troubletickets.ticketid = vtiger_crmentity.crmid
@@ -107,11 +105,10 @@ class HelpDesk_Module_Model extends Vtiger_Module_Model {
 			$params[] = $dateFilter['start'];
 			$params[] = $dateFilter['end'];
 		}
-		if(vtws_isRoleBasedPicklist('ticketstatus')) {
-			$currentUserModel = Users_Record_Model::getCurrentUserModel();
-			$picklistvaluesmap = getAssignedPicklistValues("ticketstatus",$currentUserModel->getRole(), $db);
-			foreach($picklistvaluesmap as $picklistValue) $params[] = $picklistValue;
-		}
+		$picklistvaluesmap = getAllPickListValues("ticketstatus");
+        foreach($picklistvaluesmap as $picklistValue) {
+            $params[] = $picklistValue;
+        }
 
 		$result = $db->pquery('SELECT COUNT(*) as count, CASE WHEN vtiger_troubletickets.status IS NULL OR vtiger_troubletickets.status = "" THEN "" ELSE vtiger_troubletickets.status END AS statusvalue 
 							FROM vtiger_troubletickets INNER JOIN vtiger_crmentity ON vtiger_troubletickets.ticketid = vtiger_crmentity.crmid AND vtiger_crmentity.deleted=0
diff --git a/modules/Leads/models/Module.php b/modules/Leads/models/Module.php
index 2f3126412e0792089babc7304bcb6c1a28026ee7..d64ae21b5ca3b05152580ec7057ac341658fe0fc 100644
--- a/modules/Leads/models/Module.php
+++ b/modules/Leads/models/Module.php
@@ -143,10 +143,9 @@ class Leads_Module_Model extends Vtiger_Module_Model {
 			$params[] = $dateFilter['start'];
 			$params[] = $dateFilter['end'];
 		}
-        if(vtws_isRoleBasedPicklist('leadstatus')) {
-            $currentUserModel = Users_Record_Model::getCurrentUserModel();
-            $picklistvaluesmap = getAssignedPicklistValues("leadstatus",$currentUserModel->getRole(), $db);
-            foreach($picklistvaluesmap as $picklistValue) $params[] = $picklistValue;
+        $picklistvaluesmap = getAllPickListValues("leadstatus");
+        foreach($picklistvaluesmap as $picklistValue) {
+            $params[] = $picklistValue;
         }
 
 		$result = $db->pquery('SELECT COUNT(*) as count, CASE WHEN vtiger_leadstatus.leadstatus IS NULL OR vtiger_leadstatus.leadstatus = "" THEN "" ELSE 
@@ -192,10 +191,9 @@ class Leads_Module_Model extends Vtiger_Module_Model {
 			$params[] = $dateFilter['start'];
 			$params[] = $dateFilter['end'];
 		}
-        if(vtws_isRoleBasedPicklist('leadsource')) {
-            $currentUserModel = Users_Record_Model::getCurrentUserModel();
-            $picklistvaluesmap = getAssignedPicklistValues("leadsource",$currentUserModel->getRole(), $db);
-            foreach($picklistvaluesmap as $picklistValue) $params[] = $picklistValue;
+        $picklistvaluesmap = getAllPickListValues("leadsource");
+        foreach($picklistvaluesmap as $picklistValue) {
+            $params[] = $picklistValue;
         }
         
 		$result = $db->pquery('SELECT COUNT(*) as count, CASE WHEN vtiger_leaddetails.leadsource IS NULL OR vtiger_leaddetails.leadsource = "" THEN "" 
@@ -240,10 +238,9 @@ class Leads_Module_Model extends Vtiger_Module_Model {
 			$params[] = $dateFilter['start'];
 			$params[] = $dateFilter['end'];
 		}
-        if(vtws_isRoleBasedPicklist('industry')) {
-            $currentUserModel = Users_Record_Model::getCurrentUserModel();
-            $picklistvaluesmap = getAssignedPicklistValues("industry",$currentUserModel->getRole(), $db);
-            foreach($picklistvaluesmap as $picklistValue) $params[] = $picklistValue;
+        $picklistvaluesmap = getAllPickListValues("industry");
+        foreach($picklistvaluesmap as $picklistValue) {
+            $params[] = $picklistValue;
         }
 		
 		$result = $db->pquery('SELECT COUNT(*) as count, CASE WHEN vtiger_leaddetails.industry IS NULL OR vtiger_leaddetails.industry = "" THEN "" 
diff --git a/modules/Potentials/models/Module.php b/modules/Potentials/models/Module.php
index 9ea4f242bc3a1335bf6d010698e5b00f5f148f77..15616aa7cafd1bcaab982de5de4d787495cdbba0 100644
--- a/modules/Potentials/models/Module.php
+++ b/modules/Potentials/models/Module.php
@@ -61,11 +61,10 @@ class Potentials_Module_Model extends Vtiger_Module_Model {
 			$params[] = $dateFilter['start'];
 			$params[] = $dateFilter['end'];
 		}
-        if(vtws_isRoleBasedPicklist('sales_stage')) {
-            $currentUserModel = Users_Record_Model::getCurrentUserModel();
-            $picklistvaluesmap = getAssignedPicklistValues("sales_stage",$currentUserModel->getRole(), $db);
-            unset($picklistvaluesmap['Closed Won']);unset($picklistvaluesmap['Closed Lost']);
-            foreach($picklistvaluesmap as $picklistValue) $params[] = $picklistValue;
+        $picklistvaluesmap = getAllPickListValues("sales_stage");
+        unset($picklistvaluesmap['Closed Won']);unset($picklistvaluesmap['Closed Lost']);
+        foreach($picklistvaluesmap as $picklistValue) {
+            $params[] = $picklistValue;
         }
         
 		$result = $db->pquery('SELECT COUNT(*) count, vtiger_potential.sales_stage FROM vtiger_potential
@@ -95,11 +94,11 @@ class Potentials_Module_Model extends Vtiger_Module_Model {
 		$db = PearDatabase::getInstance();
 		//TODO need to handle security
 		$params = array();
-        if(vtws_isRoleBasedPicklist('sales_stage')) {
-            $currentUserModel = Users_Record_Model::getCurrentUserModel();
-            $picklistvaluesmap = getAssignedPicklistValues("sales_stage",$currentUserModel->getRole(), $db);
-            foreach($picklistvaluesmap as $picklistValue) $params[] = $picklistValue;
+        $picklistvaluesmap = getAllPickListValues("sales_stage");
+        foreach($picklistvaluesmap as $picklistValue) {
+            $params[] = $picklistValue;
         }
+        
 		$result = $db->pquery('SELECT COUNT(*) AS count, concat(first_name," ",last_name) as last_name, vtiger_potential.sales_stage, vtiger_groups.groupname FROM vtiger_potential
 						INNER JOIN vtiger_crmentity ON vtiger_potential.potentialid = vtiger_crmentity.crmid AND vtiger_crmentity.deleted = 0
 						LEFT JOIN vtiger_users ON vtiger_users.id=vtiger_crmentity.smownerid AND vtiger_users.status="ACTIVE"
@@ -131,12 +130,10 @@ class Potentials_Module_Model extends Vtiger_Module_Model {
 		$db = PearDatabase::getInstance();
 		//TODO need to handle security
 		$params = array();
-        if(vtws_isRoleBasedPicklist('sales_stage')) {
-            $currentUserModel = Users_Record_Model::getCurrentUserModel();
-            $picklistvaluesmap = getAssignedPicklistValues("sales_stage",$currentUserModel->getRole(), $db);
-            unset($picklistvaluesmap['Closed Won']);unset($picklistvaluesmap['Closed Lost']);
-            foreach($picklistvaluesmap as $picklistValue) $params[] = $picklistValue;
-        }
+        $picklistvaluesmap = getAllPickListValues("sales_stage");
+        unset($picklistvaluesmap['Closed Won']);unset($picklistvaluesmap['Closed Lost']);
+        foreach($picklistvaluesmap as $picklistValue) $params[] = $picklistValue;
+        
 		$result = $db->pquery('SELECT sum(amount) AS amount, concat(first_name," ",last_name) as last_name, vtiger_potential.sales_stage FROM vtiger_potential
 						INNER JOIN vtiger_crmentity ON vtiger_potential.potentialid = vtiger_crmentity.crmid
 						INNER JOIN vtiger_users ON vtiger_users.id=vtiger_crmentity.smownerid AND vtiger_users.status="ACTIVE"
@@ -302,10 +299,7 @@ class Potentials_Module_Model extends Vtiger_Module_Model {
 		//$currentUser = Users_Record_Model::getCurrentUserModel();
 		$db = PearDatabase::getInstance();
 
-        if(vtws_isRoleBasedPicklist('sales_stage')) {
-            $currentUserModel = Users_Record_Model::getCurrentUserModel();
-            $picklistValues = getAssignedPicklistValues("sales_stage",$currentUserModel->getRole(), $db);
-        }
+        $picklistValues = getAllPickListValues("sales_stage");
 		$data = array();
 		foreach ($picklistValues as $key => $picklistValue) {
 			$result = $db->pquery('SELECT SUM(amount) AS amount FROM vtiger_potential
diff --git a/modules/Reports/models/Chart.php b/modules/Reports/models/Chart.php
index cc50b2f28be865bde5960d07fc8baf845a7139aa..9cfb3c6b78ccd30f0fcc0224f52327a520f637e7 100644
--- a/modules/Reports/models/Chart.php
+++ b/modules/Reports/models/Chart.php
@@ -497,9 +497,8 @@ class PieChart extends Base_Chart {
 		$currentUserModel = Users_Record_Model::getCurrentUserModel();
 		$currencyRateAndSymbol = getCurrencySymbolandCRate($currentUserModel->currency_id);
 
-		if(($legendField->getFieldDataType() == 'picklist' || $legendField->getFieldDataType() == 'multipicklist') && vtws_isRoleBasedPicklist($legendField->getName())){
-			$currentUserModel = Users_Record_Model::getCurrentUserModel();
-			$picklistvaluesmap = getAssignedPicklistValues($legendField->getName(),$currentUserModel->getRole(), $db);
+		if($legendField->getFieldDataType() == 'picklist' || $legendField->getFieldDataType() == 'multipicklist'){
+			$picklistvaluesmap = getAllPickListValues($legendField->getName(),$currentUserModel->getRole(), $db);
 		}
 
 		$sector = trim($sector, '`'); // remove backticks from sector
@@ -596,9 +595,9 @@ class VerticalbarChart extends Base_Chart {
 
 		$groupByColumnsByFieldModel = $this->getGroupbyColumnsByFieldModel();
 		foreach($groupByColumnsByFieldModel as $eachGroupByField) {
-			if($eachGroupByField->getFieldDataType() == 'picklist' && vtws_isRoleBasedPicklist($eachGroupByField->getName())){
+			if($eachGroupByField->getFieldDataType() == 'picklist'){
 				$currentUserModel = Users_Record_Model::getCurrentUserModel();
-				$picklistValueMap[$eachGroupByField->getName()] = getAssignedPicklistValues($eachGroupByField->getName(),$currentUserModel->getRole(), $db);
+				$picklistValueMap[$eachGroupByField->getName()] = getAllPickListValues($eachGroupByField->getName(),$currentUserModel->getRole(), $db);
 			}
 		}
 		$currentUserModel = Users_Record_Model::getCurrentUserModel();
diff --git a/modules/Settings/LayoutEditor/models/Field.php b/modules/Settings/LayoutEditor/models/Field.php
index 25f7b080ac42d192a1af4bdd3e6a414ad231c7c3..aa5812a1b64834bd2f5aa46b17650de7f25edf60 100644
--- a/modules/Settings/LayoutEditor/models/Field.php
+++ b/modules/Settings/LayoutEditor/models/Field.php
@@ -354,6 +354,20 @@ class Settings_LayoutEditor_Field_Model extends Vtiger_Field_Model {
 			$picklistValues = array(' '=> vtranslate('LBL_SELECT_OPTION'));
 			$fieldInfo['picklistvalues'] = $picklistValues;
 		}
+        
+        if (isset($fieldInfo['editablepicklistvalues'])) {
+            if ($fieldInfo['type'] != 'multipicklist') {
+                $picklistValues = $fieldInfo['editablepicklistvalues'];
+                $emptyOption = array(' ' => vtranslate('LBL_SELECT_OPTION'));
+
+                $picklistValues = $emptyOption + $picklistValues;
+                $fieldInfo['editablepicklistvalues'] = $picklistValues;
+            }
+        } else {
+            $picklistValues = array(' ' => vtranslate('LBL_SELECT_OPTION'));
+            $fieldInfo['editablepicklistvalues'] = $picklistValues;
+        }
+        
 		//for new field we need to have all attributes
 		$currentUser = Users_Record_Model::getCurrentUserModel();
 		$fieldInfo['date-format'] = $currentUser->get('date_format');
diff --git a/modules/Settings/MailConverter/models/Field.php b/modules/Settings/MailConverter/models/Field.php
index 65ad41de1b0e20150bd1419a52e4d271f35eaa3f..609e4e36eb5b7947b6b9d9b3a74968da115bd1c3 100644
--- a/modules/Settings/MailConverter/models/Field.php
+++ b/modules/Settings/MailConverter/models/Field.php
@@ -68,6 +68,10 @@ class Settings_MailConverter_Field_Model extends Vtiger_Field_Model {
         return $pickListValues;
     }
     
+    public function getEditablePicklistValues() {
+        return $this->getPickListValues();
+    }
+    
     public function getRadioOptions() {
         $fieldName = $this->getName();
         if($fieldName == 'ssltype') {
diff --git a/modules/Settings/Picklist/models/Module.php b/modules/Settings/Picklist/models/Module.php
index ca39d3f3ca46914420fb2fd5303bc1564f4daf07..cc317bd83de7b4327f1df393c053c6c9bdc08360 100644
--- a/modules/Settings/Picklist/models/Module.php
+++ b/modules/Settings/Picklist/models/Module.php
@@ -468,7 +468,7 @@ class Settings_Picklist_Module_Model extends Vtiger_Module_Model {
 		$db = PearDatabase::getInstance();
 		$picklistValues = array();
 		if (vtws_isRoleBasedPicklist($name)) {
-			$picklistValues = getAssignedPicklistValues($name, $currentUser->roleid, $db);
+			$picklistValues = getAllPickListValues($name, $currentUser->roleid, $db);
 		}
 
 		return $picklistValues;
diff --git a/modules/Users/models/Field.php b/modules/Users/models/Field.php
index 1fea24da81efe5daad3a209c53e18147c7cbe3be..c460f1c2ce6dc19e4a119c16ccad14febc408b01 100644
--- a/modules/Users/models/Field.php
+++ b/modules/Users/models/Field.php
@@ -92,6 +92,14 @@ class Users_Field_Model extends Vtiger_Field_Model {
 		}
 		return parent::getPicklistValues();
 	}
+    
+    /**
+	 * Function to get all the available picklist values for the current field
+	 * @return <Array> List of picklist values if the field is of type picklist or multipicklist, null otherwise.
+	 */
+	public function getEditablePicklistValues() {
+		return $this->getPicklistValues();
+	}
 
 	/**
 	 * Function to returns all skins(themes)
diff --git a/modules/Vtiger/models/DetailRecordStructure.php b/modules/Vtiger/models/DetailRecordStructure.php
index 47d71a0d725b50c76f5d2ba021ba394a81b089ea..bab9261023f95ec3e45708a38c3681172819aaaa 100644
--- a/modules/Vtiger/models/DetailRecordStructure.php
+++ b/modules/Vtiger/models/DetailRecordStructure.php
@@ -41,7 +41,7 @@ class Vtiger_DetailRecordStructure_Model extends Vtiger_RecordStructure_Model {
 							$value = $recordModel->get($fieldName);
 							if(!$currentUsersModel->isAdminUser() && ($fieldModel->getFieldDataType() == 'picklist' || $fieldModel->getFieldDataType() == 'multipicklist')) {
 								$value = decode_html($value);
-								$this->setupAccessiblePicklistValueList($fieldName);
+								$this->setupAccessiblePicklistValueList($fieldModel);
 							} 
 							$fieldModel->set('fieldvalue', $value);
 						}
@@ -54,14 +54,15 @@ class Vtiger_DetailRecordStructure_Model extends Vtiger_RecordStructure_Model {
 		return $values;
 	}
 
-	public function setupAccessiblePicklistValueList($name) {
+	public function setupAccessiblePicklistValueList($fieldModel) {
 		$db = PearDatabase::getInstance();
 		$currentUsersModel = Users_Record_Model::getCurrentUserModel();
 		$roleId = $currentUsersModel->getRole();
+        $name = $fieldModel->getName();
 		$isRoleBased = vtws_isRoleBasedPicklist($name);
 		$this->picklistRoleMap[$name] = $isRoleBased;
 		if ($this->picklistRoleMap[$name]) {
-			$this->picklistValueMap[$name] = getAssignedPicklistValues($name, $roleId, $db);
+			$this->picklistValueMap[$name] = $fieldModel->getPicklistValues();
 		}
 	}
 
diff --git a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/models/Field.php b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/models/Field.php
index 70328297963921c9e2e83b3634370d0c73045cc2..0d33c981f71c22226443b156f0f05e0f02cbdb32 100644
--- a/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/models/Field.php
+++ b/pkg/vtiger/modules/EmailTemplates/modules/EmailTemplates/models/Field.php
@@ -49,5 +49,9 @@ class EmailTemplates_Field_Model extends Vtiger_Field_Model {
 	public function isNameField() {
 		return false;
 	}
+    
+    public function getEditablePicklistValues() {
+    	return $this->getPicklistValues();
+    }
 
 }
\ No newline at end of file
diff --git a/pkg/vtiger/modules/Webforms/settings/models/Field.php b/pkg/vtiger/modules/Webforms/settings/models/Field.php
index 42d3e185258d2e520c9cfb638c960cdd4a6f856c..eb1383223bf927ea6bdd7fe19072ef4ed5b995de 100644
--- a/pkg/vtiger/modules/Webforms/settings/models/Field.php
+++ b/pkg/vtiger/modules/Webforms/settings/models/Field.php
@@ -73,6 +73,14 @@ class Settings_Webforms_Field_Model extends Vtiger_Field_Model {
 		}
 		return array();
 	}
+    
+    /**
+	 * Function to get Editable Picklist values
+	 * @return <Array> Editable Picklist values
+	 */
+	public function getEditablePicklistValues() {
+		return $this->getPicklistValues();
+	}
 	
 	public function getDisplayValue($value) {
 		if ($this->getName() === 'enabled') {
diff --git a/pkg/vtiger/modules/Webforms/settings/models/ModuleField.php b/pkg/vtiger/modules/Webforms/settings/models/ModuleField.php
index 15a4912f2f01f8d65d7d3a882848fb0c0e2d1167..23cf0f564c63fcf9fd153a83787e4dcfc5872ec6 100644
--- a/pkg/vtiger/modules/Webforms/settings/models/ModuleField.php
+++ b/pkg/vtiger/modules/Webforms/settings/models/ModuleField.php
@@ -41,6 +41,7 @@ class Settings_Webforms_ModuleField_Model extends Vtiger_Field_Model {
 		$pickListValues = $this->getPicklistValues();
 		if(!empty($pickListValues)) {
 			$fieldInfo['picklistvalues'] = $pickListValues;
+            $fieldInfo['editablepicklistvalues'] = $pickListValues;
 		}
 
 		if($this->getFieldDataType() == 'date' || $this->getFieldDataType() == 'datetime'){
@@ -91,7 +92,7 @@ class Settings_Webforms_ModuleField_Model extends Vtiger_Field_Model {
 		}
 		$pickListValues = array();
 		$pickListValues[""] = vtranslate("LBL_SELECT_OPTION", 'Settings:Webforms');
-		return ($pickListValues + parent::getPicklistValues());
+		return ($pickListValues + parent::getEditablePicklistValues());
 	}
 
 	/**