diff --git a/retroarch.c b/retroarch.c index 4b402e6f7f..99f1b942e9 100644 --- a/retroarch.c +++ b/retroarch.c @@ -5364,6 +5364,12 @@ bool retroarch_main_init(int argc, char *argv[]) else input_remapping_restore_global_config(true); +#ifdef HAVE_DYNAMIC + /* Ensure that currently loaded core is properly + * deinitialised */ + if (runloop_st->current_core_type != CORE_TYPE_DUMMY) + command_event(CMD_EVENT_CORE_DEINIT, NULL); +#endif /* Attempt initializing dummy core */ runloop_st->current_core_type = CORE_TYPE_DUMMY; if (!command_event(CMD_EVENT_CORE_INIT, &runloop_st->current_core_type))