Index: myglut-win32.c
===================================================================
--- myglut-win32.c	(revision 1201)
+++ myglut-win32.c	(revision 1202)
@@ -398,18 +398,14 @@
         case VK_END:    key = GLUT_KEY_END;       special=1; break;
         case VK_INSERT: key = GLUT_KEY_INSERT;    special=1; break;
 
-                                default:
-                                        // don't do this for WinCE
-
-
-          b = GetKeyboardState( state );
-                                        assert(b);
-
-                                        code [ 0 ] = 0; // WK: I need to do this, or on my Win2k box, the upper bits remain unchanged.
-          if( ToAscii( key, 0, state, code, 0 ) == 1 )
-                                                if((0xFF00 & code[0]) == 0) // setting a high bit in key causes crashes later on (out of range array access)
-                                                        key=code[ 0 ];
-
+        default: // don't do this for WinCE
+            b = GetKeyboardState( state );
+            if(b){
+                code [ 0 ] = 0; // WK: I need to do this, or on my Win2k box, the upper bits remain unchanged.
+                if( ToAscii( key, 0, state, code, 0 ) == 1 )
+                    if((0xFF00 & code[0]) == 0) // setting a high bit in key causes crashes later on (out of range array access)
+                        key=code[ 0 ];
+            }
       }
       if ( key != -1)
         {