diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
index 660ba1b..2e70296 100644
--- a/dlls/ntdll/file.c
+++ b/dlls/ntdll/file.c
@@ -214,7 +214,7 @@
         SERVER_START_REQ( create_file )
         {
             req->access     = access;
-            req->inherit    = (attr->Attributes & OBJ_INHERIT) != 0;
+            req->attributes = attr->Attributes;
             req->sharing    = sharing;
             req->create     = disposition;
             req->options    = options;
diff --git a/dlls/ntdll/server.c b/dlls/ntdll/server.c
index 7bd015c..43629a0 100644
--- a/dlls/ntdll/server.c
+++ b/dlls/ntdll/server.c
@@ -455,9 +455,9 @@
 
     SERVER_START_REQ( alloc_file_handle )
     {
-        req->access  = access;
-        req->inherit = inherit;
-        req->fd      = fd;
+        req->access     = access;
+        req->attributes = inherit ? OBJ_INHERIT : 0;
+        req->fd         = fd;
         if (!(ret = wine_server_call( req ))) *handle = reply->handle;
     }
     SERVER_END_REQ;
diff --git a/include/wine/server_protocol.h b/include/wine/server_protocol.h
index 359affa..4677cfb 100644
--- a/include/wine/server_protocol.h
+++ b/include/wine/server_protocol.h
@@ -754,7 +754,7 @@
 {
     struct request_header __header;
     unsigned int access;
-    int          inherit;
+    unsigned int attributes;
     unsigned int sharing;
     int          create;
     unsigned int options;
@@ -773,7 +773,7 @@
 {
     struct request_header __header;
     unsigned int access;
-    int          inherit;
+    unsigned int attributes;
     int          fd;
 };
 struct alloc_file_handle_reply
@@ -4316,6 +4316,6 @@
     struct query_symlink_reply query_symlink_reply;
 };
 
-#define SERVER_PROTOCOL_VERSION 208
+#define SERVER_PROTOCOL_VERSION 209
 
 #endif /* __WINE_WINE_SERVER_PROTOCOL_H */
diff --git a/server/file.c b/server/file.c
index 4d13ca7..1b34c7a 100644
--- a/server/file.c
+++ b/server/file.c
@@ -356,7 +356,8 @@
     if ((file = create_file( get_req_data(), get_req_data_size(), req->access,
                              req->sharing, req->create, req->options, req->attrs )))
     {
-        reply->handle = alloc_handle( current->process, file, req->access, req->inherit );
+        reply->handle = alloc_handle( current->process, file, req->access,
+                                      req->attributes & OBJ_INHERIT );
         release_object( file );
     }
 }
@@ -375,7 +376,8 @@
     }
     if ((file = create_file_for_fd( fd, req->access, FILE_SHARE_READ | FILE_SHARE_WRITE )))
     {
-        reply->handle = alloc_handle( current->process, file, req->access, req->inherit );
+        reply->handle = alloc_handle( current->process, file, req->access,
+                                      req->attributes & OBJ_INHERIT );
         release_object( file );
     }
 }
diff --git a/server/protocol.def b/server/protocol.def
index bbb842e..98bcb90 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -590,7 +590,7 @@
 /* Create a file */
 @REQ(create_file)
     unsigned int access;        /* wanted access rights */
-    int          inherit;       /* inherit flag */
+    unsigned int attributes;    /* object attributes */
     unsigned int sharing;       /* sharing flags */
     int          create;        /* file create action */
     unsigned int options;       /* file options */
@@ -604,7 +604,7 @@
 /* Allocate a file handle for a Unix fd */
 @REQ(alloc_file_handle)
     unsigned int access;        /* wanted access rights */
-    int          inherit;       /* inherit flag */
+    unsigned int attributes;    /* object attributes */
     int          fd;            /* file descriptor on the client side */
 @REPLY
     obj_handle_t handle;        /* handle to the file */
diff --git a/server/trace.c b/server/trace.c
index eeb4e76..6ede1c2 100644
--- a/server/trace.c
+++ b/server/trace.c
@@ -1008,7 +1008,7 @@
 static void dump_create_file_request( const struct create_file_request *req )
 {
     fprintf( stderr, " access=%08x,", req->access );
-    fprintf( stderr, " inherit=%d,", req->inherit );
+    fprintf( stderr, " attributes=%08x,", req->attributes );
     fprintf( stderr, " sharing=%08x,", req->sharing );
     fprintf( stderr, " create=%d,", req->create );
     fprintf( stderr, " options=%08x,", req->options );
@@ -1025,7 +1025,7 @@
 static void dump_alloc_file_handle_request( const struct alloc_file_handle_request *req )
 {
     fprintf( stderr, " access=%08x,", req->access );
-    fprintf( stderr, " inherit=%d,", req->inherit );
+    fprintf( stderr, " attributes=%08x,", req->attributes );
     fprintf( stderr, " fd=%d", req->fd );
 }
 
