diff --git a/REFERENCE.md b/REFERENCE.md
index 97df2874..98b81f41 100644
--- a/REFERENCE.md
+++ b/REFERENCE.md
@@ -1442,6 +1442,7 @@ The following parameters are available in the `zabbix::agent` class:
* [`additional_service_params`](#-zabbix--agent--additional_service_params)
* [`service_type`](#-zabbix--agent--service_type)
* [`include_dir`](#-zabbix--agent--include_dir)
+* [`include_dir_force`](#-zabbix--agent--include_dir_force)
* [`include_dir_purge`](#-zabbix--agent--include_dir_purge)
* [`unsafeuserparameters`](#-zabbix--agent--unsafeuserparameters)
* [`userparameter`](#-zabbix--agent--userparameter)
@@ -2079,6 +2080,14 @@ You may include individual files or all files in a directory in the configuratio
Default value: `$zabbix::params::agent_include`
+##### `include_dir_force`
+
+Data type: `Any`
+
+force purge of include dir, needed if it contains sub directories.
+
+Default value: `$zabbix::params::agent_include_force`
+
##### `include_dir_purge`
Data type: `Any`
diff --git a/manifests/agent.pp b/manifests/agent.pp
index 9db33a8e..3197639a 100644
--- a/manifests/agent.pp
+++ b/manifests/agent.pp
@@ -113,6 +113,7 @@
# @param additional_service_params Additional parameters to pass to the service.
# @param service_type Systemd service type
# @param include_dir You may include individual files or all files in a directory in the configuration file.
+# @param include_dir_force force purge of include dir, needed if it contains sub directories.
# @param include_dir_purge Include dir to purge.
# @param unsafeuserparameters Allow all characters to be passed in arguments to user-defined parameters.
# @param userparameter User-defined parameter to monitor.
@@ -198,6 +199,7 @@
$allowroot = $zabbix::params::agent_allowroot,
Optional[String[1]] $zabbix_user = $zabbix::params::agent_zabbix_user,
$include_dir = $zabbix::params::agent_include,
+ $include_dir_force = $zabbix::params::agent_include_force,
$include_dir_purge = $zabbix::params::agent_include_purge,
$unsafeuserparameters = $zabbix::params::agent_unsafeuserparameters,
$userparameter = $zabbix::params::agent_userparameter,
@@ -368,6 +370,7 @@
owner => $agent_config_owner,
group => $agent_config_group,
recurse => true,
+ force => $include_dir_force,
purge => $include_dir_purge,
notify => Service[$servicename],
require => File[$agent_configfile_path],
diff --git a/manifests/params.pp b/manifests/params.pp
index 06066431..ee11a794 100755
--- a/manifests/params.pp
+++ b/manifests/params.pp
@@ -311,6 +311,7 @@
$agent_hostnameitem = 'system.hostname'
$agent_hostinterface = undef
$agent_hostinterfaceitem = undef
+ $agent_include_force = true
$agent_include_purge = true
$agent_listenip = undef
$agent_listenport = '10050'