diff --git a/trackReps/include/MplTrackRep.h b/trackReps/include/MplTrackRep.h
index ec29bf0a69eafb575a98c4f7f4f0cb39183872b3..9cc4992aeaeaaf31d4eed9378a7a8f461a1df460 100644
--- a/trackReps/include/MplTrackRep.h
+++ b/trackReps/include/MplTrackRep.h
@@ -48,9 +48,10 @@ namespace genfit {
     const double m_magCharge;
     const double m_mass;
 
+
   public:
 
-    ClassDef(MplTrackRep, 1)
+    ClassDefOverride(MplTrackRep, 1)
 
   };
 } //end genfit namespace
diff --git a/trackReps/include/RKTrackRep.h b/trackReps/include/RKTrackRep.h
index dd6461fcc367e74b3535f84d243ddd6da63b8cb8..c88647db34a247bbc26c5f140535fb508b31ce00 100644
--- a/trackReps/include/RKTrackRep.h
+++ b/trackReps/include/RKTrackRep.h
@@ -284,9 +284,13 @@ class RKTrackRep : public AbsTrackRep {
 
   double momMag(const M1x7& state7) const;
 
+ protected:
 
   mutable StateOnPlane lastStartState_; //! state where the last extrapolation has started
   mutable StateOnPlane lastEndState_; //! state where the last extrapolation has ended
+
+ private:
+
   mutable std::vector<RKStep> RKSteps_; //! RungeKutta steps made in the last extrapolation
   mutable int RKStepsFXStart_; //!
   mutable int RKStepsFXStop_; //!
diff --git a/trackReps/src/MplTrackRep.cc b/trackReps/src/MplTrackRep.cc
index c938b850b529df2d85915c7f7ff9779170ee0a06..49abd72e404408d73ba1c92f8c4799f3afd7152f 100644
--- a/trackReps/src/MplTrackRep.cc
+++ b/trackReps/src/MplTrackRep.cc
@@ -26,6 +26,8 @@
 
 #include <math.h>
 
+#include <TBuffer.h>
+
 using namespace genfit;
 
 MplTrackRep::MplTrackRep(int pdgCode, float magCharge, char propDir) :
@@ -254,3 +256,21 @@ double MplTrackRep::RKPropagate(M1x7& state7,
   // in Numerical Recipes.  FIXME: move to caller.
   return pow(DLT/EST, 1./5.);
 }
+
+void MplTrackRep::Streamer(TBuffer &R__b)
+{
+   // I guess I have to reimplement this since it can not be taken from RKTrackRep?
+   typedef ::genfit::MplTrackRep thisClass;
+   UInt_t R__s, R__c;
+   if (R__b.IsReading()) {
+      ::genfit::AbsTrackRep::Streamer(R__b);
+      Version_t R__v = R__b.ReadVersion(&R__s, &R__c); if (R__v) { }
+      R__b.CheckByteCount(R__s, R__c, thisClass::IsA());
+      lastStartState_.setRep(this);
+      lastEndState_.setRep(this);
+   } else {
+      ::genfit::AbsTrackRep::Streamer(R__b);
+      R__c = R__b.WriteVersion(thisClass::IsA(), kTRUE);
+      R__b.SetByteCount(R__c, kTRUE);
+   }
+}
diff --git a/trackReps/src/trackRepsLinkDef.h b/trackReps/src/trackRepsLinkDef.h
index e6ff71a7db3050f01395128964a07f8e77f55e61..efc354408c7fe667950fa46cc81bb897e50a6da2 100644
--- a/trackReps/src/trackRepsLinkDef.h
+++ b/trackReps/src/trackRepsLinkDef.h
@@ -8,4 +8,4 @@
 #pragma link C++ namespace genfit;
 
 #pragma link C++ class genfit::RKTrackRep-;
-#pragma link C++ class genfit::MplTrackRep+;
+#pragma link C++ class genfit::MplTrackRep-;