diff --git a/src/gradient-flow.cc b/src/gradient-flow.cc
index 957881a7a40361ee601af69ae84e10ca51877416..b461b6589c9d1050c1f7756cde42e7eaa3e1f13b 100644
--- a/src/gradient-flow.cc
+++ b/src/gradient-flow.cc
@@ -253,6 +253,11 @@ int main (int argc, char *argv[]) try
 #endif
   vtkWriter.write("gradientflow_result_0");
 
+  // Write the corresponding coefficient vector: verbatim in binary, to be completely lossless
+  std::ofstream outFile("gradientflow_result_0.data", std::ios_base::binary);
+  GenericVector::writeBinary(outFile, xEmbedded);
+  outFile.close();
+
   ///////////////////////////////////////////////////////
   //   Time loop
   ///////////////////////////////////////////////////////
@@ -291,6 +296,12 @@ int main (int argc, char *argv[]) try
     vtkWriter.addVertexData(vtkFunction(xFunction), VTK::FieldInfo("orientation", VTK::FieldInfo::Type::scalar, xEmbedded[0].size()));
 #endif
     vtkWriter.write("gradientflow_result_" + std::to_string(i+1));
+
+    // Write the corresponding coefficient vector: verbatim in binary, to be completely lossless
+    std::ofstream outFile("gradientflow_result_" + std::to_string(i+1) + ".data", std::ios_base::binary);
+    GenericVector::writeBinary(outFile, xEmbedded);
+    outFile.close();
+
   }
 
   return 0;