diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9a788d053bfaac4589b8315bcf8da2a6736f411a..792dbc88f70e7f8809bf78a7e330bd408cc27fd7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -39,7 +39,7 @@ endif(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
 # enable warnings and disallow non-standard language
 set(CMAKE_CXX_FLAGS "-Wall -pedantic -Wextra -Wno-ignored-qualifiers")
 set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
-set(CMAKE_CXX_FLAGS_RELEASE "-O3") # -O2 would not trade speed for size, neither O2/3 use fast-math 
+set(CMAKE_CXX_FLAGS_RELEASE "-O3 -g") # -O2 would not trade speed for size, neither O2/3 use fast-math 
 
 # clang produces a lot of unecessary warnings without this:
 add_compile_options("$<$<CXX_COMPILER_ID:Clang>:-Wno-nonportable-include-path>") 
diff --git a/Framework/Cascade/Cascade.h b/Framework/Cascade/Cascade.h
index 6aed37d644b868c1ed92d5ce87475db45245225f..ba05bd78e444e59e542972ce2420e485a4a18d6f 100644
--- a/Framework/Cascade/Cascade.h
+++ b/Framework/Cascade/Cascade.h
@@ -47,7 +47,7 @@ namespace corsika::cascade {
     void Run() {
       while (!fStack.IsEmpty()) {
         while (!fStack.IsEmpty()) {
-          Particle& pNext = *fStack.GetNextParticle();
+          auto pNext = fStack.GetNextParticle();
           Step(pNext);
         }
         // do cascade equations, which can put new particles on Stack,