--- ./actions.c.00	2005-07-03 19:25:14.000000000 +0200
+++ ./actions.c	2007-01-24 19:21:48.000000000 +0100
@@ -960,9 +960,9 @@
         && !wwin->flags.net_handle_icon
 #endif
        ) {
-        if (!wwin->flags.icon_moved) {
-            PlaceIcon(wwin->screen_ptr, &wwin->icon_x, &wwin->icon_y, wGetHeadForWindow(wwin));
-        }
+        /* if (!wwin->flags.icon_moved) { */
+            /* PlaceIcon(wwin->screen_ptr, &wwin->icon_x, &wwin->icon_y, wGetHeadForWindow(wwin)); */
+        /* } */
         wwin->icon = wIconCreate(wwin);
 
         wwin->icon->mapped = 1;
@@ -1109,6 +1109,9 @@
 void
 wDeiconifyWindow(WWindow  *wwin)
 {
+
+	if (!wwin) { return; }
+
 #ifdef NETWM_HINTS
     /* we're hiding for show_desktop */
     int netwm_hidden = wwin->flags.net_show_desktop &&
--- ./appicon.c.00	2004-10-14 19:31:49.000000000 +0200
+++ ./appicon.c	2007-01-24 19:24:34.000000000 +0100
@@ -159,6 +159,7 @@
         aicon->wm_instance = wstrdup(leader_win->wm_instance);
 
     aicon->icon = wIconCreate(leader_win);
+    
 #ifdef DEMATERIALIZE_ICON
     {
         XSetWindowAttributes attribs;
--- ./application.c.00	2005-03-11 22:35:36.000000000 +0100
+++ ./application.c	2007-01-24 19:32:56.000000000 +0100
@@ -324,6 +324,7 @@
     /* application descriptor */
     XSaveContext(dpy, main_window, wAppWinContext, (XPointer)wapp);
 
+#if 0
     if (!WFLAGP(wapp->main_window_desc, no_appicon)) {
         wapp->app_icon = NULL;
         if (scr->last_dock)
@@ -359,6 +360,9 @@
     } else {
         wapp->app_icon = NULL;
     }
+#endif
+
+    wapp->app_icon = NULL;
 
     if (wapp->app_icon) {
         wapp->app_icon->main_window = main_window;
