diff --git a/modules/Settings/LayoutEditor/actions/Field.php b/modules/Settings/LayoutEditor/actions/Field.php
index 7d6b1c5ce630863baf8ce44562e9a264b8a76c40..b8f6b02c650d535f029336486fded2376f5be99f 100644
--- a/modules/Settings/LayoutEditor/actions/Field.php
+++ b/modules/Settings/LayoutEditor/actions/Field.php
@@ -58,7 +58,10 @@ class Settings_LayoutEditor_Field_Action extends Settings_Vtiger_Index_Action {
     public function save(Vtiger_Request $request) {
 		$currentUser = Users_Record_Model::getCurrentUserModel();
         $fieldId = $request->get('fieldid');
-        $fieldInstance = Settings_LayoutEditor_Field_Model::getInstance($fieldId);
+        $sourceModule = $request->get('sourceModule');
+
+        $moduleInstance = Vtiger_Module_Model::getInstance($sourceModule);
+        $fieldInstance = Settings_LayoutEditor_Field_Model::getInstance($fieldId, $moduleInstance);
         
         $fieldLabel = $fieldInstance->get('label');
         $mandatory = $request->get('mandatory',null);
@@ -212,4 +215,4 @@ class Settings_LayoutEditor_Field_Action extends Settings_Vtiger_Index_Action {
     public function validateRequest(Vtiger_Request $request) {
         $request->validateWriteAccess();
     }
-}
\ No newline at end of file
+}
diff --git a/vtlib/Vtiger/Field.php b/vtlib/Vtiger/Field.php
index 3995835b9427db98fa766b3dc9e0371415683651..c33b3e296cc58e2b144a195dc21a67850fa94f38 100644
--- a/vtlib/Vtiger/Field.php
+++ b/vtlib/Vtiger/Field.php
@@ -214,7 +214,17 @@ class Vtiger_Field extends Vtiger_FieldBasic {
 	static function getInstance($value, $moduleInstance=false) {
 		global $adb;
 		$instance = false;
-		if (!$moduleInstance) return $instance;
+		if (!$moduleInstance) {
+			// Derive moduleInstance based on FieldId.
+			if (is_numeric($value)) {
+				$fieldInfo = Vtiger_Functions::getModuleFieldInfoWithId($value);
+				if ($fieldInfo) {
+					$moduleInstance = Vtiger_Module_Model::getInstance($fieldInfo["tabid"]);
+				} 
+			}
+		}
+		if (!$moduleInstance) return null;
+
 		$data = Vtiger_Functions::getModuleFieldInfo($moduleInstance->id, $value);
 		if ($data) {
             $instance = new self();
@@ -286,4 +296,4 @@ class Vtiger_Field extends Vtiger_FieldBasic {
 		self::log("Deleting fields of the module ... DONE");
 	}
 }
-?>
\ No newline at end of file
+?>