diff --git a/gnucash/register/ledger-core/gnc-ledger-display.c b/gnucash/register/ledger-core/gnc-ledger-display.c index ea390ee1e1..c84c1f7cd7 100644 --- a/gnucash/register/ledger-core/gnc-ledger-display.c +++ b/gnucash/register/ledger-core/gnc-ledger-display.c @@ -594,6 +594,7 @@ close_handler (gpointer user_data) return; gnc_unregister_gui_component (ld->component_id); + ld->component_id = NO_COMPONENT; if (ld->destroy) ld->destroy (ld); diff --git a/libgnucash/app-utils/gnc-component-manager.c b/libgnucash/app-utils/gnc-component-manager.c index e788b48995..c32be015df 100644 --- a/libgnucash/app-utils/gnc-component-manager.c +++ b/libgnucash/app-utils/gnc-component-manager.c @@ -690,6 +690,8 @@ gnc_gui_refresh_internal (gboolean force) #endif list = find_component_ids_by_class (NULL); + // reverse the list so class GncPluginPageRegister is before register-single + list = g_list_reverse (list); for (node = list; node; node = node->next) {