diff --git a/src/ChangeLog b/src/ChangeLog
index 73f832fe1c9cb29a9b83ebe1e336458affea27a6..578402b5c0c9e9cbc27577e0acff1cd88595bfdb 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2015-12-11  Peter Liljenberg  <peter.liljenberg@gmail.com>
+	* commands2.el: Terminate keep-alive with kill-buffer-hook, as
+	lyskom-keep-alive-callback can't do it once the buffer is killed.
+	Also improve error logging in the callback.
+
 2014-10-30  Christer Ekholm  <che@chrekh.se>
 
 	* Makefile: Use cp -f to copy files to build-directory for target
diff --git a/src/commands2.el b/src/commands2.el
index 0e77cad75ec3a575a85003ca32aae65185d876e5..e8368e723e175c2510874ee6cbd9a38d3d3c7949 100644
--- a/src/commands2.el
+++ b/src/commands2.el
@@ -2373,13 +2373,14 @@ This command accepts text number prefix arguments \(see
   local)
 
 (defun lyskom-keep-alive-callback (buffer)
-  (condition-case nil
+  (condition-case callback-error
     (save-current-buffer (set-buffer buffer)
                          (if (eq (process-status lyskom-proc) 'open)
                              (initiate-get-time 'keep nil)
                            (lyskom-stop-keep-alive)
                            (message "Terminating keep-alive")))
-    (error (message "ERROR!") (lyskom-stop-keep-alive))))
+    (error (message "Error during keep-alive: %s" callback-error)
+           (lyskom-stop-keep-alive))))
 
 (def-kom-command kom-keep-alive ()
   "Keep the LysKOM session alive by sending a request every once in a
@@ -2423,7 +2424,12 @@ See `kom-keep-alive' for more information."
   (mapc 'disable-timeout lyskom-keep-alive-timers)
   (setq lyskom-keep-alive-timers nil))
 
+(defun lyskom-buffer-kill-keep-alive-hook ()
+  (if lyskom-keep-alive-timers
+      (message "Terminating keep-alive for buffer %s" (buffer-name (current-buffer))))
+  (lyskom-stop-keep-alive))
 
+(add-hook 'kill-buffer-hook 'lyskom-buffer-kill-keep-alive-hook)
 
 ;;; ========================================================================
 ;;;   Check (if Person is a) member (of Conference)