diff --git a/panel/panel-plugin-external-wrapper-wayland.c b/panel/panel-plugin-external-wrapper-wayland.c
index fce124835fb2639b6d7ff75e215d7c8fc3b55488..030fe7593b4a41f20e95d5a32794032914188dc9 100644
--- a/panel/panel-plugin-external-wrapper-wayland.c
+++ b/panel/panel-plugin-external-wrapper-wayland.c
@@ -304,6 +304,13 @@ panel_plugin_external_wrapper_wayland_proxy_embedded (GDBusProxy *proxy,
                                                       GVariant *parameters,
                                                       PanelPluginExternalWrapperWayland *wrapper)
 {
+  /* reset geometry when child is respawned */
+  wrapper->monitor = NULL;
+  wrapper->geometry.x = 0;
+  wrapper->geometry.y = 0;
+  wrapper->geometry.width = 0;
+  wrapper->geometry.height = 0;
+
   panel_plugin_external_set_embedded (PANEL_PLUGIN_EXTERNAL (wrapper), TRUE);
 }