diff --git a/src/PlumedFile.cpp b/src/PlumedFile.cpp
index 2cb07f09f49a84258bb62415b6071528e8480ccb..7e191ba134adadfe3ac2b3cc8faec496f4a4e898 100644
--- a/src/PlumedFile.cpp
+++ b/src/PlumedFile.cpp
@@ -523,7 +523,7 @@ PlumedIFile& PlumedIFile::getline(std::string &str){
   while(llread(&tmp,1)==1 && tmp && tmp!='\n' && !eof && !err){
     str+=tmp;
   }
-  if(tmp!='\n' || err){
+  if(err || eof || tmp!='\n'){
     eof = true;
     str="";
     fsetpos(fp,&pos);