diff --git a/src/OpenFOAM/interpolations/interpolationTable/tableReaders/csv/csvTableReader.C b/src/OpenFOAM/interpolations/interpolationTable/tableReaders/csv/csvTableReader.C
index b71e274842ad036d6d84a72fd685fc80ba4c965d..09faf41fd7b5e1f4349bb7b9a6cc7cf5858c22c9 100644
--- a/src/OpenFOAM/interpolations/interpolationTable/tableReaders/csv/csvTableReader.C
+++ b/src/OpenFOAM/interpolations/interpolationTable/tableReaders/csv/csvTableReader.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
+    \\  /    A nd           | Copyright (C) 2011-2013 OpenFOAM Foundation
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -182,8 +182,17 @@ void Foam::csvTableReader<Type>::write(Ostream& os) const
         << headerLine_ << token::END_STATEMENT << nl;
     os.writeKeyword("timeColumn")
         << timeColumn_ << token::END_STATEMENT << nl;
-    os.writeKeyword("valueColumns")
-        << componentColumns_ << token::END_STATEMENT << nl;
+
+    // Force writing labelList in ascii
+    os.writeKeyword("valueColumns");
+    if (os.format() == IOstream::BINARY)
+    {
+        os.format(IOstream::ASCII);
+        os  << componentColumns_;
+        os.format(IOstream::BINARY);
+    }
+    os  << token::END_STATEMENT << nl;
+
     os.writeKeyword("separator")
         << string(separator_) << token::END_STATEMENT << nl;
 }
diff --git a/src/OpenFOAM/primitives/functions/DataEntry/CSV/CSVIO.C b/src/OpenFOAM/primitives/functions/DataEntry/CSV/CSVIO.C
index 36595e7dd6d625092c5b5ba3cf63ff3fbc2cfd54..1dd395cee0d227186830f57016d4e9997e22aecf 100644
--- a/src/OpenFOAM/primitives/functions/DataEntry/CSV/CSVIO.C
+++ b/src/OpenFOAM/primitives/functions/DataEntry/CSV/CSVIO.C
@@ -74,8 +74,17 @@ void Foam::CSV<Type>::writeData(Ostream& os) const
     os.writeKeyword("nHeaderLine") << nHeaderLine_ << token::END_STATEMENT
         << nl;
     os.writeKeyword("refColumn") << refColumn_ << token::END_STATEMENT << nl;
-    os.writeKeyword("componentColumns") << componentColumns_
-        << token::END_STATEMENT << nl;
+
+    // Force writing labelList in ascii
+    os.writeKeyword("componentColumns");
+    if (os.format() == IOstream::BINARY)
+    {
+        os.format(IOstream::ASCII);
+        os  << componentColumns_;
+        os.format(IOstream::BINARY);
+    }
+    os  << token::END_STATEMENT << nl;
+
     os.writeKeyword("separator") << string(separator_)
         << token::END_STATEMENT << nl;
     os.writeKeyword("mergeSeparators") << string(mergeSeparators_)