diff --git a/Framework/ProcessSequence/CMakeLists.txt b/Framework/ProcessSequence/CMakeLists.txt
index 78364a26402e0285a439c25721283cb00b9e382f..5a30bb14773e0af6c002bdc374339b3cc360dccb 100644
--- a/Framework/ProcessSequence/CMakeLists.txt
+++ b/Framework/ProcessSequence/CMakeLists.txt
@@ -47,6 +47,7 @@ target_link_libraries (
 CORSIKA_ADD_TEST(testProcessSequence)
 target_link_libraries (
   testProcessSequence
+  ProcessSwitch
   CORSIKAsetup
   CORSIKAgeometry
   CORSIKAprocesssequence
diff --git a/Framework/ProcessSequence/testProcessSequence.cc b/Framework/ProcessSequence/testProcessSequence.cc
index 237f90436262fdee35c4638f264c2b0faac1cf35..ebe7887c36dd63001c4a04ade9b2b5464281b544 100644
--- a/Framework/ProcessSequence/testProcessSequence.cc
+++ b/Framework/ProcessSequence/testProcessSequence.cc
@@ -17,6 +17,7 @@
 #include <iostream>
 
 #include <corsika/process/ProcessSequence.h>
+#include <corsika/process/switch_process/SwitchProcess.h>
 
 using namespace corsika;
 using namespace corsika::units::si;
@@ -291,3 +292,10 @@ TEST_CASE("Process Sequence", "[Process Sequence]") {
     CHECK(s2.GetCount() == 10);
   }
 }
+
+TEST_CASE("SwitchProcess") {
+  Process1 p1(0);
+  Process2 p2(0);
+  switch_process::SwitchProcess s(p1, p2, 10_GeV);
+  REQUIRE(is_switch_process_v<decltype(s)>);
+}