diff --git a/contiki/ctk/ctk.c b/contiki/ctk/ctk.c
index 1d5076f..97b327f 100644
--- a/contiki/ctk/ctk.c
+++ b/contiki/ctk/ctk.c
@@ -42,7 +42,7 @@
  *
  * This file is part of the "ctk" console GUI toolkit for cc65
  *
- * $Id: ctk.c,v 1.32 2003/09/02 21:47:27 adamdunkels Exp $
+ * $Id: ctk.c,v 1.33 2003/09/04 19:36:04 adamdunkels Exp $
  *
  */
 
@@ -286,15 +286,17 @@
  * Add an icon to the desktop.
  *
  * \param icon The icon to be added.
+ *
+ * \param id The process ID of the process that owns the icon.
  */
 /*-----------------------------------------------------------------------------------*/
 void
-ctk_icon_add(CC_REGISTER_ARG struct ctk_widget *icon)
+ctk_icon_add(CC_REGISTER_ARG struct ctk_widget *icon, ek_id_t id)
 {
-#if CTK_CONF_ICONS
+#if CTK_CONF_ICONS 
   icon->x = iconx;
   icon->y = icony;
-  icon->widget.icon.owner = DISPATCHER_CURRENT();
+  icon->widget.icon.owner = id;
 
   icony += ICONY_DELTA;
   if(icony >= ICONY_MAX) {
diff --git a/contiki/ctk/ctk.h b/contiki/ctk/ctk.h
index f4707ac..4addc72 100644
--- a/contiki/ctk/ctk.h
+++ b/contiki/ctk/ctk.h
@@ -38,7 +38,7 @@
  *
  * This file is part of the Contiki desktop OS.
  *
- * $Id: ctk.h,v 1.16 2003/09/01 22:26:45 adamdunkels Exp $
+ * $Id: ctk.h,v 1.17 2003/09/04 19:36:04 adamdunkels Exp $
  *
  */
 
@@ -592,9 +592,11 @@
  * Add an icon to the desktop.
  *
  * \param icon The icon to be added.
+ *
+ * \param id The process ID of the process that owns the icon.
  */
-#define CTK_ICON_ADD(icon) ctk_icon_add((struct ctk_widget *)icon)
-void ctk_icon_add(struct ctk_widget *icon);
+#define CTK_ICON_ADD(icon, id) ctk_icon_add((struct ctk_widget *)icon, id)
+void ctk_icon_add(struct ctk_widget *icon, ek_id_t id);
 
 /* Functions for manipulating widgets. */
 
