diff --git a/layouts/v7/modules/Settings/Vtiger/ModuleHeader.tpl b/layouts/v7/modules/Settings/Vtiger/ModuleHeader.tpl
index 43f60b6275832aea9a0d3048f4291316059b072e..85c86156b3b95dd58c2d0964de13aea94d922a3b 100644
--- a/layouts/v7/modules/Settings/Vtiger/ModuleHeader.tpl
+++ b/layouts/v7/modules/Settings/Vtiger/ModuleHeader.tpl
@@ -148,7 +148,7 @@
 												<a	{if stripos($SETTING->getUrl(), 'javascript:') === 0}
 														onclick='{$SETTING->getUrl()|substr:strlen("javascript:")};'
 													{else}
-														onclick='window.location.href="{$SETTING->getUrl()}"'
+														href="{$SETTING->getUrl()}"
 													{/if}>
 													{vtranslate($SETTING->getLabel(), $QUALIFIEDMODULE)}</a>
 											</li>
diff --git a/modules/Calendar/actions/ExportData.php b/modules/Calendar/actions/ExportData.php
index 228780e6a863de3b2ebaf9b17a6c471607ecc4ce..e6fb1ac7660870b52390f9cb1712f93f3a17ac35 100644
--- a/modules/Calendar/actions/ExportData.php
+++ b/modules/Calendar/actions/ExportData.php
@@ -44,6 +44,7 @@ class Calendar_ExportData_Action extends Vtiger_ExportData_Action {
 	 * @param Vtiger_Request $request
 	 */
 	public function ExportData(Vtiger_Request $request) {
+		$this->moduleCall = true;
 		if ($request->get('type') == 'csv') {
 			parent::ExportData($request);
 			return;
diff --git a/modules/Users/actions/ExportData.php b/modules/Users/actions/ExportData.php
index 5fa70a473e2fb901ae59af7a847c3c853d202230..c813c1943fad639f9d9fb4c3efc795fc30d1007f 100644
--- a/modules/Users/actions/ExportData.php
+++ b/modules/Users/actions/ExportData.php
@@ -31,6 +31,7 @@ class Users_ExportData_Action extends Vtiger_ExportData_Action {
 	 * @param Vtiger_Request $request
 	 */
 	function ExportData(Vtiger_Request $request) {
+		$this->moduleCall = true;
 		$db = PearDatabase::getInstance();
 		$moduleName = $request->get('source_module');
 		if ($moduleName) {
@@ -72,5 +73,8 @@ class Users_ExportData_Action extends Vtiger_ExportData_Action {
 		$queryGenerator->setFields($acceptedFields);
 		return $queryGenerator->getQuery();
 	}
-
+	
+	public function validateRequest(Vtiger_Request $request) {
+        $request->validateReadAccess();
+    }
 }
diff --git a/modules/Vtiger/actions/ExportData.php b/modules/Vtiger/actions/ExportData.php
index 8bbb63b36ea53b8300b22bf9d8bbbbb199aa01d1..3d116b4b9f2ca3e693da11710e292151f6f598c5 100644
--- a/modules/Vtiger/actions/ExportData.php
+++ b/modules/Vtiger/actions/ExportData.php
@@ -10,6 +10,7 @@
 
 class Vtiger_ExportData_Action extends Vtiger_Mass_Action {
 
+	var $moduleCall = false;
 	function checkPermission(Vtiger_Request $request) {
 		$moduleName = $request->getModule();
 		$sourceModule = $request->get('source_module');
@@ -49,6 +50,13 @@ class Vtiger_ExportData_Action extends Vtiger_Mass_Action {
 		$query = $this->getExportQuery($request);
 		$result = $db->pquery($query, array());
 
+		$redirectedModules = array('Users', 'Calendar');
+		if($request->getModule() != $moduleName && in_array($moduleName, $redirectedModules) && !$this->moduleCall){
+			$handlerClass = Vtiger_Loader::getComponentClassName('Action', 'ExportData', $moduleName);
+			$handler = new $handlerClass();
+			$handler->ExportData($request);
+			return;
+		}
 		$translatedHeaders = $this->getHeaders();
 		$entries = array();
 		for ($j = 0; $j < $db->num_rows($result); $j++) {