diff --git a/demo/demo-driver.lisp b/demo/demo-driver.lisp
index 3bffeb8082e84c3523732c7f9805953f663f6a01..3d6c007ca3119770a121b67b712ef81b6ce1865a 100644
--- a/demo/demo-driver.lisp
+++ b/demo/demo-driver.lisp
@@ -8,6 +8,8 @@
 
 (defvar *demos* nil)
 
+(define-presentation-type demo ())      ;<-- ?? It seems to help though. - jacek.zlydach, 2017-05-04.
+
 (defclass demo ()
   ((name :reader demo-name :initarg :name)
    (class :reader demo-class :initarg :class)
@@ -47,7 +49,7 @@
 	;; In particular, this can occur when listing
 	;; the Japanese graphics-editor when the correct
 	;; Japanese fonts are not accessible.	
-	(let ((result (catch 'excl::printer-error
+	(let ((result (catch #-allegro 'error #+Allegro 'excl::printer-error
 			(with-output-as-presentation (stream demo 'demo)
 			  (format stream "~A~%" name))
 			nil)))
@@ -84,25 +86,28 @@
 	     (when (or force (null frame))
 	       (setq frame (apply (if activity-p
 				      #'make-instance
-				    #'make-application-frame)
+                                      #'make-application-frame)
 				  (demo-class demo)
 				  :frame-manager (find-frame-manager :port port)
 				  (demo-initargs demo))))
 	     (if entry
 		 (setf (cdr entry) frame)
-	       (push (cons port frame) (demo-frames demo)))
+                 (push (cons port frame) (demo-frames demo)))
 	     (if (slot-value frame 'clim-internals::top-level-process)
 		 (unless activity-p
 		   (when (eq (frame-state frame) :shrunk)
 		     (note-frame-deiconified (frame-manager frame) frame))
 		   (raise-frame frame))
-	       (run-frame-top-level frame)))))
-    (if background 
-	(mp:process-run-function 
-	 `(:name ,(demo-name demo)
-	   :initial-bindings ((*package* . ',*package*)))
-	 #'do-it)
-      (do-it))))
+                 (run-frame-top-level frame)))))
+    (if background
+        (let ((bt:*default-special-bindings* `((*package* . ',*package*))))
+          (bt:make-thread #'do-it :name (demo-name demo)))
+        (do-it))))
+
+;; (mp:process-run-function 
+;;  `(:name ,(demo-name demo)
+;;    :initial-bindings ((*package* . ',*package*)))
+;;  #'do-it)
 	
 (defvar *demo-frame* nil)
 
diff --git a/demo/graphics-demos.lisp b/demo/graphics-demos.lisp
index 54b0711925ae7eea6fa5d20c0bfef0ac9a6c2f7c..400a7ab60f334efac85deafc054f006a4317f924 100644
--- a/demo/graphics-demos.lisp
+++ b/demo/graphics-demos.lisp
@@ -180,9 +180,9 @@ rotation and scaling."
 			     :ink (if (oddp i) +background-ink+ +foreground-ink+))))
 	  (demo-sleep stream 2))))))
 
-(defconstant *random-ink-list*
-	     (list +red+ +green+ +blue+
-		   +cyan+ +magenta+ +yellow+ +black+))
+(defparameter *random-ink-list*
+  (list +red+ +green+ +blue+
+        +cyan+ +magenta+ +yellow+ +black+))
 
 (defun random-ink ()
   (nth (random (length *random-ink-list*)) *random-ink-list*))
diff --git a/demo/listener.lisp b/demo/listener.lisp
index 60ddb56f428615e9717f1edd45bdeddaa8c3ae11..161b070878014304b241f4f339abc3e4055df594 100644
--- a/demo/listener.lisp
+++ b/demo/listener.lisp
@@ -656,5 +656,5 @@
 #+Genera
 (define-genera-application lisp-listener
 			   :pretty-name "CLIM Lisp Listener"
-			   :select-key #\ˆ
+			   :select-key #\ [FIXME insert character 210]
 			   :width +fill+ :height +fill+)
diff --git a/gramps-clim2.asd b/gramps-clim2.asd
index c3dde1102edf611ab9c0e0fb0ca17163f4f23ef7..2923d050ddcbc16a82c6acb9d6e48be90be52a72 100644
--- a/gramps-clim2.asd
+++ b/gramps-clim2.asd
@@ -198,7 +198,8 @@
 ;;; based on `clim-demo' in demo/sysdcl.lisp
 (defsystem #:gramps-clim2/examples
   :description "Applications bundled in gramps-clim2 repository."
-  :depends-on (#:gramps-clim2/core)
+  :depends-on (#:gramps-clim2/core
+               #:bordeaux-threads)
 
   :components
   ((:module "demo"
@@ -207,12 +208,13 @@
              (:file "demo-driver" :depends-on ("packages"))
              (:file "listener" :depends-on ("demo-driver"))
              (:file "graphics-demos" :depends-on ("demo-driver"))
-             (:file "cad-demo" :depends-on ("demo-driver"))
-             (:file "navdata" :depends-on ("packages"))
-             (:file "navfun" :depends-on ("navdata"))
-             (:file "puzzle" :depends-on ("demo-driver"))
-             (:file "address-book" :depends-on ("demo-driver"))
-             (:file "thinkadot" :depends-on ("demo-driver"))
-             (:file "plot" :depends-on ("demo-driver"))
-             (:file "color-editor" :depends-on ("demo-driver"))
-             (:file "graphics-editor" :depends-on ("demo-driver"))))))
+             ;(:file "cad-demo" :depends-on ("demo-driver"))
+             ;(:file "navdata" :depends-on ("packages"))
+             ;(:file "navfun" :depends-on ("navdata"))
+             ;(:file "puzzle" :depends-on ("demo-driver"))
+             ;(:file "address-book" :depends-on ("demo-driver"))
+             ;(:file "thinkadot" :depends-on ("demo-driver"))
+             ;(:file "plot" :depends-on ("demo-driver"))
+             ;(:file "color-editor" :depends-on ("demo-driver"))
+             ;(:file "graphics-editor" :depends-on ("demo-driver"))
+             ))))