diff --git a/Applications/FileIO/GocadIO/GocadAsciiReader.cpp b/Applications/FileIO/GocadIO/GocadAsciiReader.cpp
index b11c61e17d84ff7885e2ac063be801244bfa7776..8bd2cd2b749fd9eb4dbd8d1426659fad226a437d 100644
--- a/Applications/FileIO/GocadIO/GocadAsciiReader.cpp
+++ b/Applications/FileIO/GocadIO/GocadAsciiReader.cpp
@@ -118,6 +118,26 @@ DataType datasetFound(std::ifstream& in)
     }
     return DataType::UNDEFINED;
 }
+/// Checks if current line is a designated keyword for a GoCAD data set
+void checkLineEndings(std::string const& file_name)
+{
+    #ifndef _WIN32
+    std::ifstream in(file_name);
+    if (in.is_open())
+    {
+        std::string line;
+        std::getline(in, line);
+        if (line.back() == '\r')
+        {
+            OGS_FATAL(
+                "Error in input file: {:s}. The line endings are in windows "
+                "format. To read this file under UNIX, transform the input "
+                "file to unix style line endings (e.g. dos2unix).",
+                file_name);
+        }
+    }
+    #endif _WIN32
+}
 
 /// Parses the HEADER section (everything except the name is ignored right now)
 bool parseHeader(std::ifstream& in, std::string& mesh_name)
@@ -611,6 +631,8 @@ bool readFile(std::string const& file_name,
         return false;
     }
 
+    checkLineEndings(file_name);
+
     DataType type;
     while ((type = datasetFound(in)) != DataType::UNDEFINED)
     {
diff --git a/Applications/Utils/FileConverter/GocadTSurfaceReader.cpp b/Applications/Utils/FileConverter/GocadTSurfaceReader.cpp
index 7f90c9886b74fab75d48578b23e533ea9886a310..eac31c6a5a87fe1e41da179a6f58b946e84c9007 100644
--- a/Applications/Utils/FileConverter/GocadTSurfaceReader.cpp
+++ b/Applications/Utils/FileConverter/GocadTSurfaceReader.cpp
@@ -53,8 +53,10 @@ int main(int argc, char* argv[])
     cmd.add(output_arg);
 
     TCLAP::ValueArg<std::string> input_arg(
-        "i", "input-file", "Gocad triangular surfaces file (*.ts)", true, "",
-        "filename.ts");
+        "i", "input-file",
+        "Gocad triangular surfaces file (*.ts). Provide a file with unix file "
+        "endings under unix. Use dos2unix to convert. ",
+        true, "", "filename.ts");
     cmd.add(input_arg);
 
     cmd.parse(argc, argv);