diff --git a/src/core/core.cpp b/src/core/core.cpp
index a30253c50..9612e4bca 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -240,16 +240,18 @@ struct System::Impl {
     }
 
     void Shutdown() {
-        // Log last frame performance stats
-        const auto perf_results = GetAndResetPerfStats();
-        telemetry_session->AddField(Telemetry::FieldType::Performance, "Shutdown_EmulationSpeed",
-                                    perf_results.emulation_speed * 100.0);
-        telemetry_session->AddField(Telemetry::FieldType::Performance, "Shutdown_Framerate",
-                                    perf_results.game_fps);
-        telemetry_session->AddField(Telemetry::FieldType::Performance, "Shutdown_Frametime",
-                                    perf_results.frametime * 1000.0);
-        telemetry_session->AddField(Telemetry::FieldType::Performance, "Mean_Frametime_MS",
-                                    perf_stats->GetMeanFrametime());
+        // Log last frame performance stats if game was loded
+        if (perf_stats) {
+           const auto perf_results = GetAndResetPerfStats();
+           telemetry_session->AddField(Telemetry::FieldType::Performance, "Shutdown_EmulationSpeed",
+                                       perf_results.emulation_speed * 100.0);
+           telemetry_session->AddField(Telemetry::FieldType::Performance, "Shutdown_Framerate",
+                                       perf_results.game_fps);
+           telemetry_session->AddField(Telemetry::FieldType::Performance, "Shutdown_Frametime",
+                                       perf_results.frametime * 1000.0);
+           telemetry_session->AddField(Telemetry::FieldType::Performance, "Mean_Frametime_MS",
+                                       perf_stats->GetMeanFrametime());
+        }
 
         lm_manager.Flush();