diff --git a/modules/Reports/actions/DetailAjax.php b/modules/Reports/actions/DetailAjax.php
index bdfbb28dd3d144b4de24230be9e5ceb99d062283..6ade2add43504212e446529d1e461fe27a42d0ab 100644
--- a/modules/Reports/actions/DetailAjax.php
+++ b/modules/Reports/actions/DetailAjax.php
@@ -14,6 +14,12 @@ class Reports_DetailAjax_Action extends Vtiger_BasicAjax_Action{
         parent::__construct();
 		$this->exposeMethod('getRecordsCount');
 	}
+	
+	public function requiresPermission(\Vtiger_Request $request) {
+		$permissions = parent::requiresPermission($request);
+		$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView', 'record_parameter' => 'record');
+		return $permissions;
+	}
     
     public function process(Vtiger_Request $request) {
 		$mode = $request->get('mode');
diff --git a/modules/Reports/views/List.php b/modules/Reports/views/List.php
index 644df3ea861a203aa1c6a1429163753580662b0a..a0826fecab94fa3e1db79c9434ff0d779f432854 100644
--- a/modules/Reports/views/List.php
+++ b/modules/Reports/views/List.php
@@ -14,14 +14,6 @@ class Reports_List_View extends Vtiger_Index_View {
 	protected $listViewEntries = false;
 	protected $listViewCount   = false;
 
-	public function requiresPermission(\Vtiger_Request $request) {
-		$permissions = parent::requiresPermission($request);
-		$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView');
-		return $permissions;
-	}
-
-
-
 	function preProcess(Vtiger_Request $request, $display=true) {
 		parent::preProcess($request, false);
 
diff --git a/modules/Reports/views/MoveReports.php b/modules/Reports/views/MoveReports.php
index 2e5768314875058e11814f6ade374192f3d6b2b5..39f3d7c88dbe061a184592376c4121a6f89aba42 100644
--- a/modules/Reports/views/MoveReports.php
+++ b/modules/Reports/views/MoveReports.php
@@ -10,12 +10,6 @@
 
 class Reports_MoveReports_View extends Vtiger_Index_View {
 
-	public function requiresPermission(\Vtiger_Request $request) {
-		$permissions = parent::requiresPermission($request);
-		$permissions[] = array('module_parameter' => 'module', 'action' => 'DetailView');
-		return $permissions;
-	}
-
 	public function process(Vtiger_Request $request) {
 		$moduleName = $request->getModule();
 		$moduleModel = Vtiger_Module_Model::getInstance($moduleName);
diff --git a/modules/Vtiger/views/ListViewQuickPreview.php b/modules/Vtiger/views/ListViewQuickPreview.php
index f68edf91276600293b4feac7dcf37731a3a22118..b8f556527a14e9aee4720940734c877ea6232f0a 100644
--- a/modules/Vtiger/views/ListViewQuickPreview.php
+++ b/modules/Vtiger/views/ListViewQuickPreview.php
@@ -28,7 +28,8 @@ class Vtiger_ListViewQuickPreview_View extends Vtiger_Index_View {
 
 		parent::checkPermission($request);
 
-		if ($recordId) {
+		$nonEntityModules = array('Users', 'Events', 'Calendar', 'Portal', 'Reports');
+		if ($recordId && !in_array($moduleName, $nonEntityModules)) {
 			$recordEntityName = getSalesEntityType($recordId);
 			if ($recordEntityName !== $moduleName) {
 				throw new AppException(vtranslate('LBL_PERMISSION_DENIED'));