diff --git a/ui/include/classes/parsers/CExpressionMacroParser.php b/ui/include/classes/parsers/CExpressionMacroParser.php
index 6cc98f0bb5..7891da5428 100644
--- a/ui/include/classes/parsers/CExpressionMacroParser.php
+++ b/ui/include/classes/parsers/CExpressionMacroParser.php
@@ -35,6 +35,7 @@ class CExpressionMacroParser extends CParser {
 	public function __construct() {
 		$this->expression_parser = new CExpressionParser([
 			'host_macro' => ['{HOST.HOST}'],
+			'allow_host_current' => true,
 			'lldmacros' => true
 		]);
 	}
diff --git a/ui/include/classes/parsers/CExpressionParser.php b/ui/include/classes/parsers/CExpressionParser.php
index 81a9d688b3..644934d201 100644
--- a/ui/include/classes/parsers/CExpressionParser.php
+++ b/ui/include/classes/parsers/CExpressionParser.php
@@ -50,6 +50,7 @@ class CExpressionParser extends CParser {
 	 *   'collapsed_expression' => false  Short trigger expression.
 	 *                                       For example: {439} > {$MAX_THRESHOLD} or {439} < {$MIN_THRESHOLD}
 	 *   'calculated' => false            Parse calculated item formula instead of trigger expression.
+	 *   'allow_host_current' => false    Parse history functions without specified host.
 	 *   'host_macro'                     Array of macros supported as host name part in the query.
 	 *
 	 * @var array
@@ -57,6 +58,7 @@ class CExpressionParser extends CParser {
 	private $options = [
 		'lldmacros' => false,
 		'collapsed_expression' => false,
+		'allow_host_current' => false,
 		'calculated' => false,
 		'host_macro' => []
 	];
@@ -77,6 +79,7 @@ class CExpressionParser extends CParser {
 	 * @param array $options
 	 * @param bool  $options['lldmacros']
 	 * @param bool  $options['collapsed_expression']
+	 * @param bool  $options['allow_host_current']
 	 * @param bool  $options['calculated']
 	 * @param bool  $options['host_macro']
 	 */
@@ -593,6 +596,7 @@ class CExpressionParser extends CParser {
 		$hist_function_parser = new CHistFunctionParser([
 			'usermacros' => true,
 			'lldmacros' => $options['lldmacros'],
+			'allow_host_current' => $options['allow_host_current'],
 			'host_macro' => $options['host_macro']
 		]);
 
diff --git a/ui/include/classes/parsers/CHistFunctionParser.php b/ui/include/classes/parsers/CHistFunctionParser.php
index bfa5887778..df6cfc3097 100644
--- a/ui/include/classes/parsers/CHistFunctionParser.php
+++ b/ui/include/classes/parsers/CHistFunctionParser.php
@@ -38,15 +38,17 @@ class CHistFunctionParser extends CParser {
 	 * An options array.
 	 *
 	 * Supported options:
-	 *   'usermacros' => false  Enable user macros usage in function parameters.
-	 *   'lldmacros' => false   Enable low-level discovery macros usage in function parameters.
-	 *   'host_macro'           Array of macros supported as host name part in the query.
+	 *   'usermacros' => false          Enable user macros usage in function parameters.
+	 *   'lldmacros' => false           Enable low-level discovery macros usage in function parameters.
+	 *   'allow_host_current' => false  Parse history functions without specified host.
+	 *   'host_macro'                   Array of macros supported as host name part in the query.
 	 *
 	 * @var array
 	 */
 	private $options = [
 		'usermacros' => false,
 		'lldmacros' => false,
+		'allow_host_current' => false,
 		'host_macro' => []
 	];
 
@@ -78,7 +80,8 @@ class CHistFunctionParser extends CParser {
 		$this->options = $options + $this->options;
 
 		$this->query_parser = new CQueryParser([
-			'host_macro' => $this->options['host_macro']
+			'host_macro' => $this->options['host_macro'],
+			'allow_host_current' => $this->options['allow_host_current']
 		]);
 		$this->period_parser = new CPeriodParser([
 			'usermacros' => $this->options['usermacros'],
diff --git a/ui/include/classes/parsers/CQueryParser.php b/ui/include/classes/parsers/CQueryParser.php
index a1c28738ae..3978632362 100644
--- a/ui/include/classes/parsers/CQueryParser.php
+++ b/ui/include/classes/parsers/CQueryParser.php
@@ -49,13 +49,15 @@ class CQueryParser extends CParser {
 	 * An options array.
 	 *
 	 * Supported options:
-	 *   'calculated' => false  Parse calculated item formula instead of trigger expression.
-	 *   'host_macro'           Array of macros supported as host name part in the query.
+	 *   'calculated' => false          Parse calculated item formula instead of trigger expression.
+	 *   'allow_host_current' => false  Parse history functions without specified host.
+	 *   'host_macro'                   Array of macros supported as host name part in the query.
 	 *
 	 * @var array
 	 */
 	private $options = [
 		'calculated' => false,
+		'allow_host_current' => false,
 		'host_macro' => []
 	];
 
@@ -81,7 +83,9 @@ class CQueryParser extends CParser {
 		}
 		else {
 			$this->item_key_parser = new CItemKey();
-			$this->host_name_parser = new CHostNameParser();
+			$this->host_name_parser = new CHostNameParser([
+				'allow_host_current' => $this->options['allow_host_current']
+			]);
 		}
 
 		if ($this->options['host_macro']) {
diff --git a/ui/tests/unit/include/classes/validators/CEventNameValidatorTest.php b/ui/tests/unit/include/classes/validators/CEventNameValidatorTest.php
index ec025e0f77..13a6a85fea 100644
--- a/ui/tests/unit/include/classes/validators/CEventNameValidatorTest.php
+++ b/ui/tests/unit/include/classes/validators/CEventNameValidatorTest.php
@@ -43,6 +43,7 @@ class CEventNameValidatorTest extends TestCase {
 			['Simple expression macro {?100+1} test', true, null],
 			['Expression macro with modificator {{?100+1-(2)}.anyfunc(2)}', true, null],
 			['Macro as host name {?func(/{HOST.HOST}/item)}', true, null],
+			['Current host {?func(//item)}', true, null],
 			['Expression macro with incorrect syntax {?123++321}', false, 'incorrect syntax near "+321}"'],
 			['{?Expression macro without closing bracket', false, 'incorrect syntax near "Expression macro without closing bracket"'],
 			['Expression macro without closing bracket at the end of event name {?', false, 'unexpected end of string'],
