diff --git a/rsyslog/files/rsyslog.default.conf b/rsyslog/files/rsyslog.default.conf
index 7a1f740..65b35b1 100644
--- a/rsyslog/files/rsyslog.default.conf
+++ b/rsyslog/files/rsyslog.default.conf
@@ -2,30 +2,30 @@
 
 {% for modname in global.modules -%}
 $ModLoad {{ modname }}
-{% endfor %}
-{% if global.preserve_fqdn == true %}
+{% endfor -%}
+{% if global.preserve_fqdn == true -%}
 $PreserveFQDN on
-{% else %}
+{% else -%}
 $PreserveFQDN off
-{% endif %}
-{% if global.non_kernel_facility is defined and global.non_kernel_facility == true %}
+{% endif -%}
+{% if global.non_kernel_facility is defined and global.non_kernel_facility == true -%}
 $KLogPermitNonKernelFacility on
-{% endif %}
-{% if global.omit_local_logging is defined and global.omit_local_logging == true %}
+{% endif -%}
+{% if global.omit_local_logging is defined and global.omit_local_logging == true -%}
 $OmitLocalLogging on
-{% endif %}
-{% if global.msg_reduction == true %}
+{% endif -%}
+{% if global.msg_reduction == true -%}
 $RepeatedMsgReduction on
-{% endif %}
-{% if global.max_message_size is defined %}
+{% endif -%}
+{% if global.max_message_size is defined -%}
 $MaxMessageSize {{ global.max_message_size }}
-{% endif %}
-{% if global.system_log_rate_limit_interval is defined %}
+{% endif -%}
+{% if global.system_log_rate_limit_interval is defined -%}
 $SystemLogRateLimitInterval {{ global.system_log_rate_limit_interval }}
-{% endif %}
-{% if global.system_log_rateLimit_burst is defined %}
+{% endif -%}
+{% if global.system_log_rateLimit_burst is defined -%}
 $SystemLogRateLimitBurst {{ global.system_log_rateLimit_burst }}
-{% endif %}
+{% endif -%}
 $DirCreateMode {{ global.perm_dir }}
 $PrivDropToUser {{ global.run_user }}
 $PrivDropToGroup {{ global.run_group }}
