diff --git a/applications/test/rigidBodyDynamics/pendulum/pendulum b/applications/test/rigidBodyDynamics/pendulum/pendulum
index 4a8378b9f2670d4769bc2cc8c2d6367ef97f3c11..d179af4438547ee888802d8074f94b04aeedbad3 100644
--- a/applications/test/rigidBodyDynamics/pendulum/pendulum
+++ b/applications/test/rigidBodyDynamics/pendulum/pendulum
@@ -3,10 +3,10 @@ bodies0
     pendulum
     {
         type            rigidBody;
-        parent          root;
         mass            1;
         centreOfMass    (0 -1 0);
         inertia         (0.001 0 0 0.001 0 0.001);
+        parent          root;
         transform       (1 0 0 0 1 0 0 0 1) (0 0 0);
         joint
         {
@@ -30,9 +30,9 @@ bodies
     weight
     {
         type            sphere;
-        mergeWith       hinge;
         mass            1;
         radius          0.05;
         transform       (1 0 0 0 1 0 0 0 1) (0 -1 0);
+        mergeWith       hinge;
     }
 }
diff --git a/src/rigidBodyDynamics/bodies/masslessBody/masslessBody.C b/src/rigidBodyDynamics/bodies/masslessBody/masslessBody.C
index e41379243250da1a670a2b7e7a799a9c45e43736..61e5b4bc757fcab95d598047ca31c08537744463 100644
--- a/src/rigidBodyDynamics/bodies/masslessBody/masslessBody.C
+++ b/src/rigidBodyDynamics/bodies/masslessBody/masslessBody.C
@@ -67,7 +67,10 @@ bool Foam::RBD::masslessBody::massless() const
 
 
 void Foam::RBD::masslessBody::write(Ostream& os) const
-{}
+{
+    os.writeKeyword("type")
+        << type() << token::END_STATEMENT << nl;
+}
 
 
 // ************************************************************************* //
diff --git a/src/rigidBodyDynamics/bodies/rigidBody/rigidBody.C b/src/rigidBodyDynamics/bodies/rigidBody/rigidBody.C
index a02ad4207c32d2c7f81ce01602399f83fde0d01e..123f2794a4097782bd39a5b191e865c4a1974e54 100644
--- a/src/rigidBodyDynamics/bodies/rigidBody/rigidBody.C
+++ b/src/rigidBodyDynamics/bodies/rigidBody/rigidBody.C
@@ -119,6 +119,9 @@ void Foam::RBD::rigidBody::merge(const subBody& subBody)
 
 void Foam::RBD::rigidBody::write(Ostream& os) const
 {
+    os.writeKeyword("type")
+        << type() << token::END_STATEMENT << nl;
+
     os.writeKeyword("mass")
         << m() << token::END_STATEMENT << nl;
 
diff --git a/src/rigidBodyDynamics/bodies/rigidBody/rigidBody.H b/src/rigidBodyDynamics/bodies/rigidBody/rigidBody.H
index 0d763727d12e60fdbecc019f908dbcb76048b3e8..2c8679b1e42bf964f757b6477f4e32aaece25c18 100644
--- a/src/rigidBodyDynamics/bodies/rigidBody/rigidBody.H
+++ b/src/rigidBodyDynamics/bodies/rigidBody/rigidBody.H
@@ -48,6 +48,12 @@ namespace RBD
 // Forward declaration of classes
 class subBody;
 
+// Forward declaration of friend functions and operators
+class rigidBody;
+
+inline Ostream& operator<<(Ostream&, const rigidBody&);
+
+
 /*---------------------------------------------------------------------------*\
                          Class rigidBody Declaration
 \*---------------------------------------------------------------------------*/
@@ -146,6 +152,11 @@ public:
 
         //- Write
         virtual void write(Ostream&) const;
+
+
+    // Ostream Operator
+
+        friend Ostream& operator<<(Ostream&, const rigidBody&);
 };
 
 
diff --git a/src/rigidBodyDynamics/bodies/rigidBody/rigidBodyI.H b/src/rigidBodyDynamics/bodies/rigidBody/rigidBodyI.H
index 497eddf6a083c71d355bd71489417e7fa590cea4..3a74d42ea0517e75e5859962ddc5fcfb173764db 100644
--- a/src/rigidBodyDynamics/bodies/rigidBody/rigidBodyI.H
+++ b/src/rigidBodyDynamics/bodies/rigidBody/rigidBodyI.H
@@ -68,4 +68,13 @@ inline const Foam::word& Foam::RBD::rigidBody::name() const
 }
 
 
+// * * * * * * * * * * * * * * * Ostream Operator  * * * * * * * * * * * * * //
+
+inline Foam::Ostream& Foam::RBD::operator<<(Ostream& os, const rigidBody& rb)
+{
+    rb.write(os);
+    return os;
+}
+
+
 // ************************************************************************* //
diff --git a/src/rigidBodyDynamics/bodies/sphere/sphere.C b/src/rigidBodyDynamics/bodies/sphere/sphere.C
index 15523961a6ab2e11411c13f7322632924642d915..ea4d13653e7d94875b9ffedb119967e624f8cd11 100644
--- a/src/rigidBodyDynamics/bodies/sphere/sphere.C
+++ b/src/rigidBodyDynamics/bodies/sphere/sphere.C
@@ -62,6 +62,9 @@ Foam::RBD::sphere::~sphere()
 
 void Foam::RBD::sphere::write(Ostream& os) const
 {
+    os.writeKeyword("type")
+        << type() << token::END_STATEMENT << nl;
+
     os.writeKeyword("mass")
         << m() << token::END_STATEMENT << nl;
 
diff --git a/src/rigidBodyDynamics/rigidBodyModel/rigidBodyModel.C b/src/rigidBodyDynamics/rigidBodyModel/rigidBodyModel.C
index 6d93c8f5b6244ec6d1174cff5004f6019cd606c9..0e8482fc5f565c0696079bb7b463de8abffa7a75 100644
--- a/src/rigidBodyDynamics/rigidBodyModel/rigidBodyModel.C
+++ b/src/rigidBodyDynamics/rigidBodyModel/rigidBodyModel.C
@@ -344,14 +344,11 @@ void Foam::RBD::rigidBodyModel::write(Ostream& os) const
         os  << indent << bodies_[i].name() << nl
             << indent << token::BEGIN_BLOCK << incrIndent << endl;
 
-        os.writeKeyword("type")
-            << bodies_[i].type() << token::END_STATEMENT << nl;
+        bodies_[i].write(os);
 
         os.writeKeyword("parent")
             << bodies_[lambda_[i]].name() << token::END_STATEMENT << nl;
 
-        bodies_[i].write(os);
-
         os.writeKeyword("transform")
             << XT_[i] << token::END_STATEMENT << nl;
 
@@ -366,17 +363,14 @@ void Foam::RBD::rigidBodyModel::write(Ostream& os) const
         os  << indent << mergedBodies_[i].name() << nl
             << indent << token::BEGIN_BLOCK << incrIndent << endl;
 
-        os.writeKeyword("type")
-            << mergedBodies_[i].body().type() << token::END_STATEMENT << nl;
-
-        os.writeKeyword("mergeWith")
-            << mergedBodies_[i].parentName() << token::END_STATEMENT << nl;
-
         mergedBodies_[i].body().write(os);
 
         os.writeKeyword("transform")
             << mergedBodies_[i].parentXT() << token::END_STATEMENT << nl;
 
+        os.writeKeyword("mergeWith")
+            << mergedBodies_[i].parentName() << token::END_STATEMENT << nl;
+
         os  << decrIndent << indent << token::END_BLOCK << endl;
     }