diff --git a/src/modules/Image/image.c b/src/modules/Image/image.c
index 7cba8057c935128218af50d48ed02f07515f7698..91d05dc45f9e57037e077ba46d712c09dd91b083 100644
--- a/src/modules/Image/image.c
+++ b/src/modules/Image/image.c
@@ -1,9 +1,9 @@
-/* $Id: image.c,v 1.86 1998/02/27 23:44:04 mirar Exp $ */
+/* $Id: image.c,v 1.87 1998/02/28 06:17:25 mirar Exp $ */
 
 /*
 **! module Image
 **! note
-**!	$Id: image.c,v 1.86 1998/02/27 23:44:04 mirar Exp $
+**!	$Id: image.c,v 1.87 1998/02/28 06:17:25 mirar Exp $
 **! class image
 **!
 **!	The main object of the <ref>Image</ref> module, this object
@@ -82,7 +82,7 @@
 
 #include "stralloc.h"
 #include "global.h"
-RCSID("$Id: image.c,v 1.86 1998/02/27 23:44:04 mirar Exp $");
+RCSID("$Id: image.c,v 1.87 1998/02/28 06:17:25 mirar Exp $");
 #include "pike_macros.h"
 #include "object.h"
 #include "constants.h"
@@ -2494,6 +2494,7 @@ static void _image_outline(INT32 args,int mask)
    push_int(THIS->ysize);
    o=clone_object(image_program,2);
    img=(struct image*)(o->storage);
+   img->rgb=THIS->rgb;
 
    tmp=malloc((THIS->xsize+width)*(THIS->ysize+height));
    if (!tmp) { free_object(o); error("out of memory\n"); }
@@ -3174,7 +3175,9 @@ void pike_module_init(void)
    add_function("outline",image_outline,
                 "function(void|array(array(int)):object)"
                 "|function(array(array(int)),int,int,int,void|int:object)"
-                "|function(array(array(int)),int,int,int,int,int,int,void|int:object)",0);
+                "|function(array(array(int)),int,int,int,int,int,int,void|int:object)"
+                "|function(int,int,int,void|int:object)"
+                "|function(int,int,int,int,int,int,void|int:object)",0);
    add_function("outline_mask",image_outline_mask,
                 "function(void|array(array(int)):object)"
                 "|function(array(array(int)),int,int,int:object)",0);