diff --git a/ChangeLog.n b/ChangeLog.n
index f3107f421bbf7f42dc84e28f2cf34e3d03475fd4..0868a5497e26a83fe3f561b69f67fa0aa60a066c 100644
--- a/ChangeLog.n
+++ b/ChangeLog.n
@@ -1,3 +1,13 @@
+from colin: Thu Oct 28 00:10:46 PDT 1993
+
+clim/coordinate-sorted-set.lisp
+- fixed bug which caused image to dump core
+
+demo/demo-driver.lisp
+- minor bug fix in handling of :background 
+
+-------------------------------------------------------------------------------
+
 from colin: Mon Oct 25 20:19:08 PDT 1993
 
 Makefile.defs
diff --git a/clim/coordinate-sorted-set.lisp b/clim/coordinate-sorted-set.lisp
index 851080f5d9536fc5b41a634ecbfb2c78a622b7dd..6878e463bedc99954618a1d0e576396b1d7f50f8 100644
--- a/clim/coordinate-sorted-set.lisp
+++ b/clim/coordinate-sorted-set.lisp
@@ -1,6 +1,6 @@
 ;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Package: CLIM-INTERNALS; Base: 10; Lowercase: Yes -*-
 
-;; $fiHeader: coordinate-sorted-set.lisp,v 1.8 1993/07/27 01:38:37 colin Exp $
+;; $fiHeader: coordinate-sorted-set.lisp,v 1.9 1993/10/26 03:21:33 colin Exp $
 
 (in-package :clim-internals)
 
@@ -82,7 +82,7 @@
 		     ;; again the hard way.  If these things were more
 		     ;; disciplined with respect to managing overlapping
 		     ;; records, we wouldn't have to resort to this.
-		     (position child vector))))
+		     (position child vector :end fp))))
 	    (declare (type fixnum old-index))
 	    (when old-index
 	      (let ((new-index (coordinate-sorted-set-index-for-position
@@ -95,7 +95,8 @@
 		  ;; operation. The removal operation would cause all
 		  ;; indices to the right to be offset by one - so
 		  ;; when new-index is greater than old-index we must
-		  ;; decrement it in order to get the right place (cim)
+		  ;; decrement it in order to get the right place
+		  ;; (cim)
 		  (when (> new-index old-index)
 		    (decf new-index))
 		  (let ((d (signum (- new-index old-index))))
@@ -153,7 +154,7 @@
 		     ;; again the hard way.  If these things were more
 		     ;; disciplined with respect to managing overlapping
 		     ;; records, we wouldn't have to resort to this.
-		     (position child coordinate-sorted-set))))
+		     (position child coordinate-sorted-set :end fill-pointer))))
       (cond (index
 	     (let ((new-fp (the fixnum (1- fill-pointer)))
 		   (vector coordinate-sorted-set))
diff --git a/demo/demo-driver.lisp b/demo/demo-driver.lisp
index 96f4f8b5e4703f53f75995d53fd9f61eeecd203b..82ba19746eb2c93c695ad9578418f04462603554 100644
--- a/demo/demo-driver.lisp
+++ b/demo/demo-driver.lisp
@@ -1,6 +1,6 @@
 ;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Package: CLIM-DEMO; Base: 10; Lowercase: Yes -*-
 
-;; $fiHeader: demo-driver.lisp,v 1.28 1993/10/25 16:15:54 cer Exp $
+;; $fiHeader: demo-driver.lisp,v 1.29 1993/10/26 03:21:55 colin Exp $
 
 (in-package :clim-demo)
 
@@ -50,15 +50,15 @@
 
 (define-demo-driver-command (com-run-demo)
     ((demo 'demo :gesture :select))
-  (run-demo demo :port (port *application-frame*)))
+  (run-demo demo :port (port *application-frame*) :background t))
 
 (define-gesture-name :shift-select :pointer-button (:left :shift))
 
 (define-demo-driver-command (com-force-demo)
     ((demo 'demo :gesture :shift-select))
-  (run-demo demo :port (port *application-frame*) :force t))
+  (run-demo demo :port (port *application-frame*) :force t :background t))
 
-(defun run-demo (demo &key (port (find-port)) force (background t))
+(defun run-demo (demo &key (port (find-port)) force background)
   (flet ((do-it ()
 	   (let* ((entry (assoc port (demo-frames demo)))
 		  (frame (cdr entry))
@@ -88,6 +88,6 @@
 (let ((demo (make-instance 'demo
 	      :name "Demo Driver" :class 'demo-driver
 	      :initargs '(:left 0 :top 0))))
-  (defun start-demo (&rest args)
-    (apply #'run-demo demo args)))
+  (defun start-demo (&key (port (find-port)) (background t) force)
+    (run-demo demo :port port :background background :force force)))