diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
index 47312e84ebcffb6b74c26c8ac339686ca5aa766f..e2b63b31fbdc58d106b0e633e006351da49daccf 100644
--- a/dlls/ntdll/file.c
+++ b/dlls/ntdll/file.c
@@ -383,8 +383,13 @@ NTSTATUS WINAPI NtReadFile(HANDLE hFile, HANDLE hEvent,
         ovp->async.event = hEvent;
         ovp->async.iosb = io_status;
         ovp->count = length;
-        ovp->offset = offset->s.LowPart;
-        if (offset->s.HighPart) FIXME("NIY-high part\n");
+        if ( offset == NULL ) 
+            ovp->offset = 0;
+        else
+        {
+            ovp->offset = offset->s.LowPart;
+            if (offset->s.HighPart) FIXME("NIY-high part\n");
+        } 
         ovp->apc = apc;
         ovp->apc_user = apc_user;
         ovp->buffer = buffer;