diff --git a/src/dir_import.c b/src/dir_import.c
index eaf625f5560ce373ede0fb601276ae5d9413f883..48a9e8211725164e45debdf2a22b0c8d279b5e82 100644
--- a/src/dir_import.c
+++ b/src/dir_import.c
@@ -107,7 +107,7 @@ static int fill(int n) {
     if(r != n) {
       if(feof(ctx->stream))
         ctx->eof = 1;
-      else if(ferror(ctx->stream)) {
+      else if(ferror(ctx->stream) && errno != EINTR) {
         dir_seterr("Read error: %s", strerror(errno));
         return 1;
       }