 
 (defun log4cl-make-levels-menu (info-symbol &optional nodisplay noinherit)
   "Create a levels menu for logger specified in the value of the INFO-SYMBOL"
-  (let* ((C `(and (slime-connected-p) ,info-symbol))
+  (let* ((C
+          ;; For non-popup-menu `log4cl-check-connection' is done in parent
+          (if (eq info-symbol 'log4cl-popup-logger)
+              `(and ,info-symbol)
+            `(and (log4cl-check-connection) ,info-symbol)))
          (menu `(nil :active ,C
                      ,@(unless nodisplay
                          `("--space" 
-                           [nil nil :label (log4cl-logger-display-name ,info-symbol)] 
+                           [nil nil :label (log4cl-logger-display-name ,info-symbol)]
                            "--space" 
                            "--single-line"))
                      ;; inherit

                          (>= (- (float-time) try) 5)))
                 ;; mark it that we trying to do it
                 (process-put conn 'log4cl-loaded (float-time)) 
                 (if (not (slime-eval `(cl:ignore-errors (asdf:load-system :log4slime))))
                     (progn 
                       (process-put conn 'log4cl-loaded (float-time))
                       (message "Failed to load log4cl lisp support"))
                   (message "Successfully loaded log4cl lisp support")
                   (process-put conn 'log4cl-loaded t)
                   t))))))))

(define-minor-mode log4cl-mode
  "\\<log4cl-mode-map>\

         (setq ad-return-value ad-do-it)))))

(defun log4cl-make-menubar-menu ()
  (let ((C '(log4cl-check-connection)))
    ;; First level is dynamic
    ;; :filter function 
    ;;    determine current defun
