diff --git a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.C b/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.C
index e73f4e72f4884857614ab45c4aca569ce215a760..99e9eb4a085508f719d8cc758d7fe3e7e31ea088 100644
--- a/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.C
+++ b/src/postProcessing/functionObjects/field/wallBoundedStreamLine/wallBoundedParticle.C
@@ -479,7 +479,19 @@ Foam::wallBoundedParticle::wallBoundedParticle
 {
     if (readFields)
     {
-        is  >> meshEdgeStart_ >> diagEdge_;
+        if (is.format() == IOstream::ASCII)
+        {
+            is  >> meshEdgeStart_ >> diagEdge_;
+        }
+        else
+        {
+            is.read
+            (
+                reinterpret_cast<char*>(&meshEdgeStart_),
+                sizeof(meshEdgeStart_)
+              + sizeof(diagEdge_)
+            );
+        }
     }
 
     // Check state of Istream
@@ -504,71 +516,6 @@ Foam::wallBoundedParticle::wallBoundedParticle
 
 // * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
 
-//void Foam::wallBoundedParticle::readFields
-//(
-//    Cloud<wallBoundedParticle>& c
-//)
-//{
-//    if (!c.size())
-//    {
-//        return;
-//    }
-//
-//    particle::readFields(c);
-//
-//    IOField<label> meshEdgeStart
-//    (
-//        c.fieldIOobject("meshEdgeStart", IOobject::MUST_READ)
-//    );
-//
-//    IOField<label> diagEdge
-//    (
-//        c.fieldIOobject("diagEdge_", IOobject::MUST_READ)
-//    );
-//    c.checkFieldIOobject(c, diagEdge);
-//
-//    label i = 0;
-//    forAllIter(Cloud<wallBoundedParticle>, c, iter)
-//    {
-//        iter().meshEdgeStart_ = meshEdgeStart[i];
-//        iter().diagEdge_ = diagEdge[i];
-//        i++;
-//    }
-//}
-//
-//
-//void Foam::wallBoundedParticle::writeFields
-//(
-//    const Cloud<wallBoundedParticle>& c
-//)
-//{
-//    particle::writeFields(c);
-//
-//    label np =  c.size();
-//
-//    IOField<label> meshEdgeStart
-//    (
-//        c.fieldIOobject("meshEdgeStart", IOobject::NO_READ),
-//        np
-//    );
-//    IOField<label> diagEdge
-//    (
-//        c.fieldIOobject("diagEdge", IOobject::NO_READ),
-//        np
-//    );
-//
-//    label i = 0;
-//    forAllConstIter(Cloud<wallBoundedParticle>, c, iter)
-//    {
-//        meshEdgeStart[i] = iter().meshEdgeStart_;
-//        diagEdge[i] = iter().diagEdge_;
-//        i++;
-//    }
-//
-//    meshEdgeStart.write();
-//    diagEdge.write();
-//}
-
 void Foam::wallBoundedParticle::write(Ostream& os, bool writeFields) const
 {
     const particle& p = static_cast<const particle&>(*this);