diff --git a/src/motif/server/server.c b/src/motif/server/server.c
index 62f6ebdde8c4e21e1a0e45fee3e8a6ffef8201fa..fe0b22488ce38a359cd93bef8ccd44ea942102f7 100644
--- a/src/motif/server/server.c
+++ b/src/motif/server/server.c
@@ -110,7 +110,10 @@ void greet_client(int socket) {
   /* Read byte-swap thing */
   result = read(socket,&byte,2);
   if( !result )  fatal_error("greet_client:  Unable to read initial data.");
-  else if( result == 1 )  read(socket,&byte+1,1);
+  else if( result == 1 ) {
+      result = read(socket, ((char *) &byte)+1,1);
+      fatal_error("greet_client:  Unable to read initial data.");
+  }
 
   swap_bytes = (byte!=1);
   if( global_will_trace ) {