diff --git a/Processes/UrQMD/UrQMD.cc b/Processes/UrQMD/UrQMD.cc
index 1258c26329809906ca0e7dcff22b11c289580118..6f462878111a12b619e37718d18b769b8cd634b0 100644
--- a/Processes/UrQMD/UrQMD.cc
+++ b/Processes/UrQMD/UrQMD.cc
@@ -98,7 +98,7 @@ bool UrQMD::CanInteract(particles::Code vCode) const {
                    vCode) != std::cend(validProjectileCodes);
 }
 
-GrammageType UrQMD::GetInteractionLength(SetupParticle& vParticle) const {
+GrammageType UrQMD::GetInteractionLength(SetupParticle const& vParticle) const {
   if (!CanInteract(vParticle.GetPID())) {
     // we could do the canInteract check in GetCrossSection, too but if
     // we do it here we have the advantage of avoiding the loop
diff --git a/Processes/UrQMD/UrQMD.h b/Processes/UrQMD/UrQMD.h
index ea2526b9161099f3150771e8b69d676716fec170..402b16ca8e3f2b88b20ca6e4acca80066a040f04 100644
--- a/Processes/UrQMD/UrQMD.h
+++ b/Processes/UrQMD/UrQMD.h
@@ -27,7 +27,7 @@ namespace corsika::process::UrQMD {
     UrQMD();
     void Init() {}
     corsika::units::si::GrammageType GetInteractionLength(
-        corsika::setup::Stack::StackIterator&) const;
+        corsika::setup::Stack::StackIterator const&) const;
 
     template <typename TParticle>
     corsika::units::si::CrossSectionType GetCrossSection(TParticle const&,