diff --git a/cdist/conf/type/__timezone/explorer/timezone_is b/cdist/conf/type/__timezone/explorer/timezone_is
new file mode 100755
index 00000000..7e9de076
--- /dev/null
+++ b/cdist/conf/type/__timezone/explorer/timezone_is
@@ -0,0 +1,20 @@
+#!/bin/sh -e
+#
+# 2016 Ander Punnar (cdist at kvlt.ee)
+#
+# This file is part of cdist.
+#
+# cdist is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# cdist is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with cdist. If not, see <http://www.gnu.org/licenses/>.
+#
+cat /etc/timezone
diff --git a/cdist/conf/type/__timezone/gencode-remote b/cdist/conf/type/__timezone/gencode-remote
index d72da918..e512f861 100755
--- a/cdist/conf/type/__timezone/gencode-remote
+++ b/cdist/conf/type/__timezone/gencode-remote
@@ -20,11 +20,16 @@
 #
 # This type allows to configure the desired localtime timezone.
 
-timezone="$__object_id"
+timezone_is=$(cat "$__object/explorer/timezone_is")
+timezone_should="$__object_id"
 os=$(cat "$__global/explorer/os")
 
+if [ "$timezone_is" = "$timezone_should" ]; then
+    exit 0
+fi
+
 case "$os" in
    ubuntu|debian|devuan)
-      echo "echo \"$timezone\" > /etc/timezone"
+      echo "echo \"$timezone_should\" > /etc/timezone"
    ;;
 esac