diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs
index 9d729e47598bed9aca4c1965b7b92cdf99353d4f..10ae550267c94fff4ec659a46bcf42e14c7ba362 100644
--- a/src-tauri/src/main.rs
+++ b/src-tauri/src/main.rs
@@ -38,7 +38,6 @@ fn main() -> std::io::Result<()> {
 
   #[allow(unused_mut)]
   let mut builder = tauri::Builder::default()
-    .manage(core::Core::new())
     .setup(|app| Ok(resolve::resolve_setup(app)))
     .system_tray(SystemTray::new().with_menu(tray_menu))
     .on_system_tray_event(move |app_handle, event| match event {
diff --git a/src-tauri/src/utils/resolve.rs b/src-tauri/src/utils/resolve.rs
index 70025eafdb62f433d6405f343586e755c3389ad9..b35a0436db45badeac9eb3f25f4ff22c8125abf4 100644
--- a/src-tauri/src/utils/resolve.rs
+++ b/src-tauri/src/utils/resolve.rs
@@ -9,12 +9,16 @@ pub fn resolve_setup(app: &App) {
   // init app config
   init::init_app(app.package_info());
 
-  // init states
-  let core = app.state::<Core>();
+  // init core
+  // should be initialized after init_app fix #122
+  let core = Core::new();
 
   core.set_win(app.get_window("main"));
   core.init(app.app_handle());
 
+  // fix #122
+  app.manage(core);
+
   resolve_window(app);
 }