--- rc.sysinit.orig	2006-12-09 15:52:20.000000000 +0200
+++ rc.sysinit	2006-12-16 21:37:18.000000000 +0200
@@ -128,6 +128,18 @@
 
 status "Mounting Root Read-only" /bin/mount -n -o remount,ro /
 
+if [ "$HARDWARECLOCK" = "UTC" ]; then
+stat_busy "Configuring System Clock"
+	/sbin/hwclock --directisa --utc --hctosys
+stat_done
+else
+	if [ -f /etc/localtime ]; then
+		stat_busy "Configuring System Clock"
+		/sbin/hwclock --directisa --localtime --hctosys
+		stat_done
+	fi
+fi
+
 FORCEFSCK=
 [ -f /forcefsck ] && FORCEFSCK="-- -f"
 NETFS="nonfs,nosmbfs,nocifs,nocodafs,noncpfs,nosysfs,nousbfs,noshfs,nofuse"
@@ -178,19 +190,15 @@
 
 status "Activating Swap" /sbin/swapon -a
 
-stat_busy "Configuring System Clock"
-if [ "$TIMEZONE" != "" ]; then
+if [ ! "$HARDWARECLOCK" = "UTC" -a ! -f /etc/localtime -a "$TIMEZONE" != "" ]; then
+	stat_busy "Configuring System Clock"
 	/bin/ln -sf /usr/share/zoneinfo/$TIMEZONE /etc/localtime
-fi
-if [ "$HARDWARECLOCK" = "UTC" ]; then
-	/sbin/hwclock --directisa --utc --hctosys
-else
 	/sbin/hwclock --directisa --localtime --hctosys
+	stat_done
 fi
 if [ ! -f /var/lib/hwclock/adjtime ]; then
 	echo "0.0 0 0.0" > /var/lib/hwclock/adjtime
 fi
-stat_done
 
 if [ -f /var/run/random-seed ]; then
 	stat_busy "Initializing Random Seed"
--- rc.shutdown.orig	2006-12-16 21:24:36.000000000 +0200
+++ rc.shutdown	2006-12-16 20:49:08.000000000 +0200
@@ -55,6 +55,9 @@
 stat_done
 
 stat_busy "Saving System Clock"
+if [ "$TIMEZONE" != "" ]; then
+	/bin/ln -sf /usr/share/zoneinfo/$TIMEZONE /etc/localtime
+fi
 if [ "$HARDWARECLOCK" = "UTC" ]; then
 	/sbin/hwclock --directisa --utc --systohc
 else
