--- forms.c.orig	2002-06-03 16:41:17.000000000 +0100
+++ forms.c	2002-10-07 10:25:44.000000000 +0100
@@ -1753,6 +1753,24 @@
 }
 
 
+/* Ensure that the tabfolder forms' x,y coords are updated correctly */
+static void
+fl_get_tabfolder_origin(FL_FORM * form)
+{
+    FL_OBJECT *ob = 0;
+
+    for (ob = form->first; ob; ob = ob->next) {
+	if (ob->objclass == FL_TABFOLDER) {
+	    FL_FORM * const folder = fl_get_active_folder(ob);
+	    if (folder && folder->window) {
+		fl_get_winorigin(folder->window, &(folder->x), &(folder->y));
+		/* Don't forget nested folders */
+		fl_get_tabfolder_origin(folder);
+	    }
+	}
+    }
+}
+
 static void
 do_interaction_step(int wait_io)
 {
@@ -2048,6 +2066,10 @@
 				  (st_xev.xconfigure.width != evform->w ||
 				   st_xev.xconfigure.height != evform->h));
 
+
+	/* Ensure that the tabfolder forms' x,y coords are updated correctly */
+	fl_get_tabfolder_origin(evform);
+
 	if (!st_xev.xconfigure.send_event)
 	{
 	    /* can't just set form->{w,h}. Need to take care of obj gravity */

