diff --git a/le-greeter/package/DEBIAN/control b/le-greeter/package/DEBIAN/control
index 032059b08141c2ea0982f416922dcb34fd3a0746..1931aa735cebadd369ebd5b34a852b31b7c0b27c 100755
--- a/le-greeter/package/DEBIAN/control
+++ b/le-greeter/package/DEBIAN/control
@@ -1,7 +1,7 @@
 Package: le-greeter
 Priority: important
 Section: main
-Version: 0.1.37
+Version: 0.1.38
 Maintainer: LE Maintainer <le-maintainer@c3sl.ufpr.br>
 Description: Login screen theme and configurations for Linux Educacional 5.0
 Architecture: i386
diff --git a/le-greeter/package/DEBIAN/preinst b/le-greeter/package/DEBIAN/preinst
index 78162d535bffb6b290e89f832fe1b1ba9cd386d5..2a885822a61ad7d2f625c9d0d11cce74f31974e2 100755
--- a/le-greeter/package/DEBIAN/preinst
+++ b/le-greeter/package/DEBIAN/preinst
@@ -24,17 +24,29 @@
 RMDIVERTS="/etc/lightdm/lightdm.conf"
 DIVERTS="/usr/sbin/guest-account"
 
+# Check whether file $1 was already diverted.
+# Return true if it was and false otherwise.
+function alreadyDiverted() {
+    file="$1"
+    dpkg-divert --listpackage $file | grep -q le-greeter
+    return $?
+}
+
 # Remove diverts made from previous versions of le-greeter (<0.1.36)
 for file in $RMDIVERTS; do
-    dpkg-divert --remove ${file}
-    if test -e ${file}.lightdm; then
-        rm -f ${file}.lightdm
+    if alreadyDiverted $file; then
+        dpkg-divert --remove ${file}
+        if test -e ${file}.lightdm; then
+            rm -f ${file}.lightdm
+        fi
     fi
 done
 
 # Divert files:
 for file in $DIVERTS; do
-    dpkg-divert --divert ${file}.lightdm --rename ${file}
+    if ! alreadyDiverted $file; then
+        dpkg-divert --divert ${file}.real --rename ${file}
+    fi
 done
 
 exit 0