diff --git a/configure b/configure
index 2ae8d897005020da33fb81fa9d75cc613f6e6a78..6e7dd79ccf186f1d2224df0fe2d9ac5ba824066e 100755
--- a/configure
+++ b/configure
@@ -1833,7 +1833,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE=xfwm4
- VERSION=4.1.99.2
+ VERSION=4.1.99.3
 
 
 cat >>confdefs.h <<_ACEOF
diff --git a/configure.ac b/configure.ac
index 709af84038566fc7edaddded1966b0748bd3aaa0..1730824be6f6f238abd4426a3c30398ec5dd59d9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -7,7 +7,7 @@ AC_INIT([src/main.c])
 
 AC_PREREQ(2.52)
 
-AM_INIT_AUTOMAKE([xfwm4], [4.1.99.2])
+AM_INIT_AUTOMAKE([xfwm4], [4.1.99.3])
 
 AM_CONFIG_HEADER([config.h])
 
diff --git a/ltmain.sh b/ltmain.sh
index c13e957f7632ac72cff76850db23e4bd0d6e9afa..23f82e3b79cf555dc49c69f5ec241a587987918e 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -33,6 +33,9 @@ basename="s,^.*/,,g"
 # function.
 progpath="$0"
 
+# RH: define SED for historic ltconfig's generated by Libtool 1.3
+[ -z "$SED" ] && SED=sed
+
 # The name of this program:
 progname=`echo "$progpath" | $SED $basename`
 modename="$progname"
diff --git a/po/xfwm4.pot b/po/xfwm4.pot
index 64995df175531237eb4f2f93cd9e3f1f66cbe653..347d9183a9b83eefc5dfa283d2d9d6801946cf51 100644
--- a/po/xfwm4.pot
+++ b/po/xfwm4.pot
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-12-11 18:35+0100\n"
+"POT-Creation-Date: 2004-12-12 16:55+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/src/compositor.c b/src/compositor.c
index 300768713982be63ab0473c7da2d6dd4a2abfe7b..35b061a058e69148b1521029ac00206245807181 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -1852,10 +1852,10 @@ compositorHandleCreateNotify (DisplayInfo *display_info, XCreateWindowEvent *ev)
     }
     
     /* 
-       We are only interested on override redirect windows, other will
+       We are only interested in top level windows, other will
        be caught by the WM.
      */
-    if (ev->override_redirect)
+    if (myDisplayGetScreenFromRoot(display_info, ev->parent) != NULL)
     {
         compositorAddWindow (display_info, ev->window, NULL);
     }
@@ -1957,7 +1957,14 @@ compositorAddWindow (DisplayInfo *display_info, Window id, Client *c)
     cw = find_cwindow_in_display (display_info, id);
     if (cw)
     {
-        cw->c = c;
+        /* 
+           The compositor window is already know, just update the client if
+           that is meaningfull
+         */
+        if (c)
+        {
+            cw->c = c;
+        }
     }
     else
     {
diff --git a/src/compositor.h b/src/compositor.h
index 0f7074af6a87fce7629e227755c37b03d21ea410..56c09949d460e707d05b616d9b60a1e94294e133 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -34,7 +34,7 @@
 
 void     compositorMapWindow        (DisplayInfo *, Window);
 void     compositorUnmapWindow      (DisplayInfo *, Window);
-void     compositorAddWindow        (DisplayInfo *, Window, Client *c);
+void     compositorAddWindow        (DisplayInfo *, Window, Client *);
 void     compositorRemoveWindow     (DisplayInfo *, Window);
 
 void     compositorHandleEvent      (DisplayInfo *, XEvent *);