diff --git a/Doc/changelog.docu b/Doc/changelog.docu
index cefdae1491de9a953451bf23ca4c9bcd81c32954..adde062cf93bb1d55be30ba4df765f837ff15924 100644
--- a/Doc/changelog.docu
+++ b/Doc/changelog.docu
@@ -20,6 +20,7 @@
IO
+- PLY Reader: Handle nr newlines (Thanks to Christian Feurer for the patch)
- PLY Reader: Fixed binary reader errors in ply reader. (Thanks to Michael Kremer for the patch)
diff --git a/src/OpenMesh/Core/IO/reader/PLYReader.cc b/src/OpenMesh/Core/IO/reader/PLYReader.cc
index ecfa83fe04be3af5dc93af964ee1c57176dabc26..df42756ceb0bd41a79411e12e775b9ae75ad4932 100644
--- a/src/OpenMesh/Core/IO/reader/PLYReader.cc
+++ b/src/OpenMesh/Core/IO/reader/PLYReader.cc
@@ -1076,6 +1076,10 @@ bool _PLYReader_::can_u_read(std::istream& _is) const {
std::getline(_is, line);
trim(line);
+ // Handle '\r\n' newlines
+ const int s = line.size();
+ if( s > 0 && line[s - 1] == '\r') line.resize(s - 1);
+
//Check if this file is really a ply format
if (line != "PLY" && line != "ply")
return false;