diff --git a/init.el b/init.el
index 1499562ba52a67bea552fca57c13d6be6eb0d87e..ff42ce0e63fa14784870cc9c9d5ff6d90dd0678b 100644
--- a/init.el
+++ b/init.el
@@ -55,6 +55,12 @@
 
 (byte-recompile-directory (expand-file-name "~/.emacs.d") 0)
 
+;; Byte-compile again to ~/.emacs.elc if it is outdated
+(if (file-newer-than-file-p
+     (file-truename "~/.emacs.d/init.el")
+     (file-truename "~/.emacs.d/init.elc"))
+    (byte-compile-file "~/.emacs.d/init.el"))
+
 (custom-set-faces
  ;; custom-set-faces was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.