diff --git a/tsk3/img/raw.c b/tsk3/img/raw.c
index fb1d7ec978ab786e1b9284765815e9fcb39961f7..3a362673b8ef272c2d127aa1bf4f32f868251c83 100644
--- a/tsk3/img/raw.c
+++ b/tsk3/img/raw.c
@@ -198,7 +198,7 @@ raw_open(const TSK_TCHAR * image)
     {
         DWORD dwHi, dwLo;
 
-        if ((raw_info->fd = CreateFile(image, GENERIC_READ,
+        if ((raw_info->fd = CreateFile(image, FILE_READ_DATA,
                     FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL)) ==
             INVALID_HANDLE_VALUE) {
 
@@ -209,7 +209,7 @@ raw_open(const TSK_TCHAR * image)
                     tsk_fprintf(stderr,
                         "raw_open: Trying Windows device with share_write mode\n");
 
-                raw_info->fd = CreateFile(image, GENERIC_READ,
+                raw_info->fd = CreateFile(image, FILE_READ_DATA,
                     FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
             }
 
diff --git a/tsk3/img/split.c b/tsk3/img/split.c
index a8d5410b6b66c547c486e2243564630b6dd79ef1..f50b733b3209de045cd7fd8fcbbf649a5195850d 100644
--- a/tsk3/img/split.c
+++ b/tsk3/img/split.c
@@ -59,7 +59,7 @@ split_read_segment(IMG_SPLIT_INFO * split_info, int idx, char *buf,
         }
 
 #ifdef TSK_WIN32
-        if ((cimg->fd = CreateFile(split_info->images[idx], GENERIC_READ,
+        if ((cimg->fd = CreateFile(split_info->images[idx], FILE_READ_DATA,
                     0, 0, OPEN_EXISTING, 0, 0)) == INVALID_HANDLE_VALUE) {
             tsk_error_reset();
             tsk_errno = TSK_ERR_IMG_OPEN;