diff --git a/layouts/v7/modules/Vtiger/uitypes/Picklist.tpl b/layouts/v7/modules/Vtiger/uitypes/Picklist.tpl
index a426d52672265371557c2935fc210149e1789bc6..f5412d3a1cef4706c664d0255dad0a786a167cc4 100644
--- a/layouts/v7/modules/Vtiger/uitypes/Picklist.tpl
+++ b/layouts/v7/modules/Vtiger/uitypes/Picklist.tpl
@@ -1,27 +1,35 @@
-{*<!--
-/*********************************************************************************
-  ** The contents of this file are subject to the vtiger CRM Public License Version 1.0
-   * ("License"); You may not use this file except in compliance with the License
-   * The Original Code is: vtiger CRM Open Source
-   * The Initial Developer of the Original Code is vtiger.
-   * Portions created by vtiger are Copyright (C) vtiger.
-   * All Rights Reserved.
-  *
- ********************************************************************************/
--->*}
+{*+**********************************************************************************
+* The contents of this file are subject to the vtiger CRM Public License Version 1.1
+* ("License"); You may not use this file except in compliance with the License
+* The Original Code is: vtiger CRM Open Source
+* The Initial Developer of the Original Code is vtiger.
+* Portions created by vtiger are Copyright (C) vtiger.
+* All Rights Reserved.
+*************************************************************************************}
+
 {strip}
 {assign var="FIELD_INFO" value=$FIELD_MODEL->getFieldInfo()}
 {assign var=PICKLIST_VALUES value=$FIELD_MODEL->getPicklistValues()}
 {assign var="SPECIAL_VALIDATOR" value=$FIELD_MODEL->getValidator()}
+{assign var=PICKLIST_COLORS value=$FIELD_MODEL->getPicklistColors()}
 <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}
-        {if count($FIELD_INFO['validator'])}
-            data-specific-rules='{ZEND_JSON::encode($FIELD_INFO["validator"])}'
-        {/if}
-        >
-    {if $FIELD_MODEL->isEmptyPicklistOptionAllowed()}<option value="">{vtranslate('LBL_SELECT_OPTION','Vtiger')}</option>{/if}
+	{if $FIELD_INFO["mandatory"] eq true} data-rule-required="true" {/if}
+	{if count($FIELD_INFO['validator'])}
+		data-specific-rules='{ZEND_JSON::encode($FIELD_INFO["validator"])}'
+	{/if}
+	>
+	{if $FIELD_MODEL->isEmptyPicklistOptionAllowed()}<option value="">{vtranslate('LBL_SELECT_OPTION','Vtiger')}</option>{/if}
 	{foreach item=PICKLIST_VALUE key=PICKLIST_NAME from=$PICKLIST_VALUES}
-        <option value="{Vtiger_Util_Helper::toSafeHTML($PICKLIST_NAME)}" {if trim(decode_html($FIELD_MODEL->get('fieldvalue'))) eq trim($PICKLIST_NAME)} selected {/if}>{$PICKLIST_VALUE}</option>
-    {/foreach}
+		{assign var=CLASS_NAME value="picklistColor_{$FIELD_MODEL->getFieldName()}_{$PICKLIST_NAME|replace:' ':'_'}"}
+		<option value="{Vtiger_Util_Helper::toSafeHTML($PICKLIST_NAME)}" {if $PICKLIST_COLORS[$PICKLIST_NAME]}class="{$CLASS_NAME}"{/if} {if trim(decode_html($FIELD_MODEL->get('fieldvalue'))) eq trim($PICKLIST_NAME)} selected {/if}>{$PICKLIST_VALUE}</option>
+	{/foreach}
 </select>
+<style type="text/css">
+	{foreach item=PICKLIST_VALUE key=PICKLIST_NAME from=$PICKLIST_VALUES}
+	{assign var=CLASS_NAME value="{$FIELD_MODEL->getFieldName()}_{$PICKLIST_NAME|replace:' ':'_'}"}
+	.picklistColor_{$CLASS_NAME} {
+		background-color: {$PICKLIST_COLORS[$PICKLIST_NAME]} !important;
+	}
+	{/foreach}
+</style>
 {/strip}
diff --git a/modules/Vtiger/models/Field.php b/modules/Vtiger/models/Field.php
index 09a5e42fdcd2dbdd2155691253c6e9333aa73a55..944892bc3beddb33add76a9719b2994a5c975070 100644
--- a/modules/Vtiger/models/Field.php
+++ b/modules/Vtiger/models/Field.php
@@ -1306,4 +1306,30 @@ class Vtiger_Field_Model extends Vtiger_Field {
 		return ($this->get('headerfield')) ? true : false;
 	}
 
-}
\ No newline at end of file
+	public function getPicklistColors() {
+		$picklistColors = array();
+		$fieldDataType = $this->getFieldDataType();
+		if (in_array($fieldDataType, array('picklist', 'multipicklist'))) {
+			$fieldName = $this->getName();
+
+			preg_match('/(\w+) ; \((\w+)\) (\w+)/', $fieldName, $matches);
+			if (count($matches) > 0) {
+				list($full, $referenceParentField, $referenceModule, $referenceFieldName) = $matches;
+				$fieldName = $referenceFieldName;
+			}
+
+			if (!in_array($fieldName, array('hdnTaxType', 'region_id'))) {
+				$db = PearDatabase::getInstance();
+				$picklistValues = $this->getPicklistValues();
+
+				if (is_array($picklistValues)) {
+					$result = $db->pquery("SELECT $fieldName, color FROM vtiger_$fieldName WHERE $fieldName IN (".generateQuestionMarks($picklistValues).")", array_keys($picklistValues));
+					while ($row = $db->fetch_row($result)) {
+						$picklistColors[$row[$fieldName]] = $row['color'];
+					}
+				}
+			}
+		}
+		return $picklistColors;
+	}
+}