diff --git a/Processes/Sibyll/code_generator.py b/Processes/Sibyll/code_generator.py
index a87e644fa12feccad7b61c76f2fd308d17c5e263..a2929fdaa1fca5e544f153a197af02fbdc4e1649 100755
--- a/Processes/Sibyll/code_generator.py
+++ b/Processes/Sibyll/code_generator.py
@@ -28,10 +28,11 @@ def read_sibyll_codes(filename, pythia_db):
             line = line.strip()
             if line[0] == '#':
                 continue            
-            identifier, sib_code, canInteractFlag, xsctnId = line.split()
+            identifier, sib_code, canInteractFlag, xsType = line.split()
             try:
                 pythia_db[identifier]["sibyll_code"] = int(sib_code)
                 pythia_db[identifier]["sibyll_canInteract"] = int(canInteractFlag)
+                pythia_db[identifier]["xsType"] = int(xsType)
             except KeyError as e:
                 raise Exception("Identifier '{:s}' not found in pythia_db".format(identifier))
 
@@ -126,7 +127,7 @@ def generate_interacting_particle(pythia_db):
         low = numeric & 0xFFFFFFFF
         numeric = numeric >> 32
         string += "  0x{:0x},\n".format(low)
-        
+    
     string += "}}};\n"
     return string
     
diff --git a/Processes/Sibyll/sibyll_codes.dat b/Processes/Sibyll/sibyll_codes.dat
index d04a8436bafc27d1c9e4c7ea983477c86451f515..fc8515886b07c5f5a8f7a9307a7f06b88a65366c 100644
--- a/Processes/Sibyll/sibyll_codes.dat
+++ b/Processes/Sibyll/sibyll_codes.dat
@@ -1,3 +1,5 @@
+# input file for particle conversion to/from SIBYLL
+# the format of this file is: "corsika-identifier" "sibyll-id" "can-interact-in-sibyll" "cross-section-type"
 Electron 3 0 0
 Positron 2 0 0
 NuE 15 0 0
diff --git a/Processes/Sibyll/testSibyll.cc b/Processes/Sibyll/testSibyll.cc
index 8302be00948cef70a7ea6a0ded519bae20e930d5..c811327706efced8ef430a37ebb1fb333ddd4337 100644
--- a/Processes/Sibyll/testSibyll.cc
+++ b/Processes/Sibyll/testSibyll.cc
@@ -33,10 +33,20 @@ TEST_CASE("Sibyll", "[processes]") {
             13 );
   }
 
-  SECTION("KnownBySibyll") {
+  SECTION("handledBySibyll") {
     REQUIRE(process::sibyll::KnownBySibyll(corsika::particles::Electron::GetCode()));
 
     REQUIRE_FALSE(
         process::sibyll::KnownBySibyll(corsika::particles::XiPrimeC0::GetCode()));
   }
+
+  SECTION("cross-section type") {
+    REQUIRE(process::sibyll::CanInteract(corsika::particles::Proton::GetCode()));
+    REQUIRE(process::sibyll::CanInteract(corsika::particles::XiCPlus::GetCode()));
+
+    REQUIRE_FALSE(
+		  process::sibyll::CanInteract(corsika::particles::Electron::GetCode()));
+    REQUIRE_FALSE(
+		  process::sibyll::CanInteract(corsika::particles::SigmaC0::GetCode()));
+  }
 }