abae9b45d9aa381a6fb28559e14213ca2b73696a
diff --git a/gtk/gtkstatusbar.c b/gtk/gtkstatusbar.c
index e96cdc7..9fd2154 100644
--- a/gtk/gtkstatusbar.c
+++ b/gtk/gtkstatusbar.c
@@ -825,6 +825,10 @@ has_extra_children (GtkStatusbar *statusbar)
   GList *l;
   GtkBoxChild *child, *frame;
 
+  /* If the internal frame has been modified assume we have extra children */
+  if (gtk_bin_get_child (GTK_BIN (statusbar->frame)) != statusbar->label)
+    return TRUE;
+
   frame = NULL;
   for (l = GTK_BOX (statusbar)->children; l; l = l->next)
     {
