diff --git a/layouts/v7/modules/Rss/ListViewContents.tpl b/layouts/v7/modules/Rss/ListViewContents.tpl
index 49570c557476ab331598bfd3daa819a8697966b0..ed70b3d9e991b18383defc738f1d18fc0ee71f26 100644
--- a/layouts/v7/modules/Rss/ListViewContents.tpl
+++ b/layouts/v7/modules/Rss/ListViewContents.tpl
@@ -47,7 +47,7 @@
                     <tr>
                         <td>
                             {assign var=SINGLE_MODULE value="SINGLE_$MODULE"}
-                            {vtranslate('LBL_NO')} {vtranslate($MODULE, $MODULE)} {vtranslate('LBL_FOUND')}. {vtranslate('LBL_CREATE')} <a class="rssAddButton" href="#" data-href="{$QUICK_LINKS['SIDEBARLINK'][0]->getUrl()}">&nbsp;{vtranslate($SINGLE_MODULE, $MODULE)}</a>
+                            {vtranslate('LBL_NO')} {vtranslate($MODULE, $MODULE)} {vtranslate('LBL_FOUND')}. {vtranslate('LBL_CREATE')}<a class="rssAddButton" href="#" data-href="{$QUICK_LINKS['SIDEBARLINK'][0]->getUrl()}">&nbsp;{vtranslate($SINGLE_MODULE, $MODULE)}</a>
                         </td>
                     </tr>
                 </tbody>
diff --git a/modules/Settings/Workflows/views/EditV7Task.php b/modules/Settings/Workflows/views/EditV7Task.php
index 0d5cad6973f8cbbfcb2d1ee33c517a2502ae2f0b..ba65959580b8f5864810ef2d1da53f62cb5bc64a 100644
--- a/modules/Settings/Workflows/views/EditV7Task.php
+++ b/modules/Settings/Workflows/views/EditV7Task.php
@@ -136,7 +136,7 @@ class Settings_Workflows_EditV7Task_View extends Settings_Vtiger_Index_View {
 		$templateVariables = array(
 			$individualTaxBlockValue => $individualTaxBlockLabel,
 			$groupTaxBlockValue => $groupTaxBlockLabel
-				);
+		);
 
 		$viewer->assign('META_VARIABLES', $metaVariables);
 		$viewer->assign('TEMPLATE_VARIABLES', $templateVariables);
@@ -154,16 +154,16 @@ class Settings_Workflows_EditV7Task_View extends Settings_Vtiger_Index_View {
 		$viewer->assign('MODULE', $moduleName);
 		$viewer->assign('QUALIFIED_MODULE', $qualifiedModuleName);
 
-
-
 		$emailFields = $recordStructureInstance->getAllEmailFields();
 		foreach($emailFields as $metaKey => $emailField) {
 			$emailFieldoptions .= '<option value=",$'.$metaKey.'">'.$emailField->get('workflow_columnlabel').'</option>';
 		}
 		$usersModuleModel = Vtiger_Module_Model::getInstance('Users');
 
-		$emailFieldoptions .= '<option value=",$(general : (__VtigerMeta__) reports_to_id)"> '.
+		if($moduleModel->getField('assigned_user_id')) {
+			$emailFieldoptions .= '<option value=",$(general : (__VtigerMeta__) reports_to_id)"> '.
 									vtranslate($moduleModel->getField('assigned_user_id')->get('label'),'Users').' : (' . vtranslate('Users','Users') . ') '. vtranslate($usersModuleModel->getField('reports_to_id')->get('label'),'Users') .'</option>';
+		}
 
 		$nameFields = $recordStructureInstance->getNameFields();
 		$fromEmailFieldOptions = '<option value="">'. vtranslate('ENTER_FROM_EMAIL_ADDRESS', $qualifiedModuleName) .'</option>';
diff --git a/modules/Vtiger/models/Module.php b/modules/Vtiger/models/Module.php
index 8ce16d3f2fcc07235e609cd01d7c297aa91fde3c..80af99b7a410becb49c9c6274dfe0d291798cb88 100644
--- a/modules/Vtiger/models/Module.php
+++ b/modules/Vtiger/models/Module.php
@@ -631,7 +631,8 @@ class Vtiger_Module_Model extends Vtiger_Module {
 	}
 
 	public function isWorkflowSupported() {
-		if($this->isEntityModule()) {
+		vimport('~~modules/com_vtiger_workflow/VTWorkflowUtils.php');
+		if($this->isEntityModule() && VTWorkflowUtils::checkModuleWorkflow($this->getName())) {
 			return true;
 		}
 		return false;
@@ -1303,7 +1304,6 @@ class Vtiger_Module_Model extends Vtiger_Module {
 		if(!$this->isEntityModule() && $this->getName() !== 'Users') {
 			return array();
 		}
-		vimport('~~modules/com_vtiger_workflow/VTWorkflowUtils.php');
 
 		$layoutEditorImagePath = Vtiger_Theme::getImagePath('LayoutEditor.gif');
 		$editWorkflowsImagePath = Vtiger_Theme::getImagePath('EditWorkflows.png');
@@ -1319,7 +1319,7 @@ class Vtiger_Module_Model extends Vtiger_Module {
 						'linkicon' => $layoutEditorImagePath
 			);
 
-			if(VTWorkflowUtils::checkModuleWorkflow($this->getName())) {
+			if($this->isWorkflowSupported()) {
 				$settingsLinks[] = array(
 						'linktype' => 'LISTVIEWSETTING',
 						'linklabel' => 'LBL_EDIT_WORKFLOWS',
diff --git a/modules/com_vtiger_workflow/VTWorkflowUtils.php b/modules/com_vtiger_workflow/VTWorkflowUtils.php
index b78c6116ecb034d72b25b6a57a52d0842046a7c9..2448f05bdfdd59a4633cb90c3ad9db064337b1af 100644
--- a/modules/com_vtiger_workflow/VTWorkflowUtils.php
+++ b/modules/com_vtiger_workflow/VTWorkflowUtils.php
@@ -120,17 +120,11 @@ class VTWorkflowUtils {
 	 */
 
 	function checkModuleWorkflow($modulename) {
-		global $adb;
-		$tabid = getTabid($modulename);
-		$modules_not_supported = array('Calendar', 'Emails', 'Faq', 'Events', 'PBXManager', 'Users');
-		$query = "SELECT name FROM vtiger_tab WHERE name not in (" . generateQuestionMarks($modules_not_supported) . ") AND isentitytype=1 AND presence = 0 AND tabid = ?";
-		$result = $adb->pquery($query, array($modules_not_supported, $tabid));
-		$rows = $adb->num_rows($result);
-		if ($rows > 0) {
-			return true;
-		} else {
-			return false;
+		$result = true;
+		if (in_array($modulename, array('Emails', 'Faq', 'PBXManager', 'Users')) || !getTabid($modulename)) {
+			$result = false;
 		}
+		return $result;
 	}
 
 	function vtGetModules($adb) {
diff --git a/modules/com_vtiger_workflow/tasks/VTCreateEntityTask.inc b/modules/com_vtiger_workflow/tasks/VTCreateEntityTask.inc
index 44960258f10c507bab203d3504e5422a9f581873..d2a2ccb37f86da541a41020d0b4275d1cdf5f006 100644
--- a/modules/com_vtiger_workflow/tasks/VTCreateEntityTask.inc
+++ b/modules/com_vtiger_workflow/tasks/VTCreateEntityTask.inc
@@ -183,6 +183,7 @@ class VTCreateEntityTask extends VTTask {
 			$newEntity->column_fields[$this->reference_field] = $focus->id;
 			// To handle cyclic process
 			$newEntity->_from_workflow = true;
+			$newEntity->column_fields['source'] = 'WORKFLOW';
 
 			//If the module triggering workflow and new entity we are creating are same, Then it might end up in infinite loop.
 			//So we need to call saveentity than save in order to avoid workflow triggering for new entity
diff --git a/modules/com_vtiger_workflow/tasks/VTCreateEventTask.inc b/modules/com_vtiger_workflow/tasks/VTCreateEventTask.inc
index abd3d23f205656197407aa218bf957673f92dceb..8073b96d1ff9dd610cffb05151cf9380876fd4d6 100644
--- a/modules/com_vtiger_workflow/tasks/VTCreateEventTask.inc
+++ b/modules/com_vtiger_workflow/tasks/VTCreateEventTask.inc
@@ -172,7 +172,8 @@ class VTCreateEventTask extends VTTask{
 			unset($_REQUEST['recurringtype']);
 			unset($fields['recurringtype']);
 		}
-		
+
+		$fields['source'] = 'WORKFLOW';
 		$event = vtws_create('Events', $fields, $adminUser);
 		$eventIdDetails = vtws_getIdComponents($event['id']);
 		$entityIdDetails = vtws_getIdComponents($id);
diff --git a/modules/com_vtiger_workflow/tasks/VTCreateTodoTask.inc b/modules/com_vtiger_workflow/tasks/VTCreateTodoTask.inc
index 7711454cacbe97ab611ab90d9d86fc9798c137c5..be456c0c36aaea475821f9d7328b9bc99b2e7f4d 100644
--- a/modules/com_vtiger_workflow/tasks/VTCreateTodoTask.inc
+++ b/modules/com_vtiger_workflow/tasks/VTCreateTodoTask.inc
@@ -109,8 +109,7 @@ class VTCreateTodoTask extends VTTask{
 			'taskstatus'=>$this->status,
 			'assigned_user_id'=>$userId,
 			'time_start'=> $time,
-			'sendnotification'=>($this->sendNotification!='' && $this->sendNotification!='N')?
-					true: false,
+			'sendnotification'=>($this->sendNotification!='' && $this->sendNotification!='N') ? true: false,
 			'date_start'=>$startDate, 
 			'due_date'=>$date,
 			'visibility'=>'Private',
@@ -169,7 +168,8 @@ class VTCreateTodoTask extends VTTask{
 				$fields[$fieldName] = $fieldValue;
 			}
 		}
-		
+
+		$fields['source'] = 'WORKFLOW';
 		$todo = vtws_create('Calendar', $fields, $adminUser);
 		$todoIdDetails = vtws_getIdComponents($todo['id']);
 		$entityIdDetails = vtws_getIdComponents($id);
diff --git a/vtlib/Vtiger/Functions.php b/vtlib/Vtiger/Functions.php
index f8da7d3190102f6d98077dc82e2f144b9413d45a..3413a8fdfd1112c580cdfc4db672a28839a49661 100644
--- a/vtlib/Vtiger/Functions.php
+++ b/vtlib/Vtiger/Functions.php
@@ -655,7 +655,7 @@ class Vtiger_Functions {
 		$description = $emailTemplate->getProcessedDescription();
 		$tokenDataPair = explode('$', $description);
 		$fields = Array();
-		for ($i = 1; $i < count($token_data_pair); $i+=2) {
+		for ($i = 1; $i < count($token_data_pair); $i++) {
 			$module = explode('-', $tokenDataPair[$i]);
 			$fields[$module[0]][] = $module[1];
 		}