diff --git a/files/dos_fs.c b/files/dos_fs.c
index 2b21acc..d4dd2c3 100644
--- a/files/dos_fs.c
+++ b/files/dos_fs.c
@@ -698,8 +698,7 @@
  */
 static HANDLE DOSFS_CreateCommPort(LPCSTR name, DWORD access)
 {
-    struct create_serial_request *req = get_req_buffer();
-    DWORD r;
+    HANDLE ret = INVALID_HANDLE_VALUE;
     char devname[40];
 
     TRACE("%s %lx\n", name, access);
@@ -710,14 +709,22 @@
 
     TRACE("opening %s as %s\n", devname, name);
 
-    req->handle  = 0;
-    req->access  = access;
-    req->sharing = FILE_SHARE_READ|FILE_SHARE_WRITE;
-    lstrcpynA( req->name, devname, server_remaining(req->name) );
-    SetLastError(0);
-    r = server_call( REQ_CREATE_SERIAL );
-    TRACE("create_port_request return %08lX handle = %08X\n",r,req->handle);
-    return req->handle;
+    SERVER_START_REQ
+    {
+        size_t len = strlen(devname);
+        struct create_serial_request *req = server_alloc_req( sizeof(*req), len );
+
+        req->access  = access;
+        req->inherit = 0;  /*FIXME*/
+        req->sharing = FILE_SHARE_READ|FILE_SHARE_WRITE;
+        memcpy( server_data_ptr(req), devname, len );
+        SetLastError(0);
+        if (!(server_call( REQ_CREATE_SERIAL ))) ret = req->handle;
+    }
+    SERVER_END_REQ;
+
+    TRACE("return %08X\n", ret );
+    return ret;
 }
 
 /***********************************************************************
