diff --git a/emacs/guix-build-log.el b/emacs/guix-build-log.el
index e08a88f6cc3ca49961c0775ad9ca0f2059c5a233..f67be16326c1022d4a658c923d44d6f1b26a3962 100644
--- a/emacs/guix-build-log.el
+++ b/emacs/guix-build-log.el
@@ -366,6 +366,9 @@ programmatically using hooks:
   (guix-find-file-or-url file-or-url)
   (guix-build-log-mode))
 
+;;;###autoload
+(add-hook 'shell-mode-hook 'guix-build-log-minor-mode-activate-maybe)
+
 ;;;###autoload
 (add-to-list 'auto-mode-alist
              ;; Regexp for log files (usually placed in /var/log/guix/...)
diff --git a/emacs/guix-devel.el b/emacs/guix-devel.el
index 8eb030942c284dca7f756108a449b1e5defc87d1..ee8371ce81e0e30c1e0f995aeeb0978b3ac7c3d1 100644
--- a/emacs/guix-devel.el
+++ b/emacs/guix-devel.el
@@ -364,6 +364,9 @@ bindings:
   (when guix-devel-activate-mode
     (guix-devel-mode)))
 
+;;;###autoload
+(add-hook 'scheme-mode-hook 'guix-devel-activate-mode-maybe)
+
 
 (defvar guix-devel-emacs-font-lock-keywords
   (eval-when-compile
diff --git a/emacs/guix-init.el b/emacs/guix-init.el
index 47ced6abaadb92c568a65597cad822eb88631a28..1d7d258f6972b227eae6ec50385672dfbea69a01 100644
--- a/emacs/guix-init.el
+++ b/emacs/guix-init.el
@@ -1,7 +1,4 @@
 (require 'guix-autoloads)
 (require 'guix-emacs)
 
-(add-hook 'scheme-mode-hook 'guix-devel-activate-mode-maybe)
-(add-hook 'shell-mode-hook 'guix-build-log-minor-mode-activate-maybe)
-
 (provide 'guix-init)