-# Back up the current ircd.conf and replace it with the new one
-cp $cpath $dpath/ircd.conf.bk
-cp $tmp_path/linesync.new.$TS $cpath
+# run a diff between current and new confs to see if we updated anything
+# no point sending the ircd a -HUP if this is not needed, especially on a
+# busy network, such as Undernet.
+diff=`$diff_cmd $cpath $tmp_path/linesync.new.$TS`
+if [ ! -z "$diff" ]; then
+ # Changes were detected