Index: source/sector.c
===================================================================
--- source/sector.c	(revision 1147)
+++ source/sector.c	(working copy)
@@ -2584,7 +2584,7 @@
         }
 
     // j = sb_snum & ((15<<8)|(1<<12)|(1<<15)|(1<<16)|(1<<22)|(1<<19)|(1<<20)|(1<<21)|(1<<24)|(1<<25)|(1<<27)|(1<<28)|(1<<29)|(1<<30)|(1<<31));
-    j = sb_snum & ((15<<8)|BIT(SK_STEROIDS)|BIT(SK_NIGHTVISION)|BIT(SK_MEDKIT)|BIT(SK_QUICK_KICK)| \
+    j = sb_snum & ((15<<SK_WEAPON_BITS)|BIT(SK_STEROIDS)|BIT(SK_NIGHTVISION)|BIT(SK_MEDKIT)|BIT(SK_QUICK_KICK)| \
                    BIT(SK_HOLSTER)|BIT(SK_INV_LEFT)|BIT(SK_PAUSE)|BIT(SK_HOLODUKE)|BIT(SK_JETPACK)|BIT(SK_INV_RIGHT)| \
                    BIT(SK_TURNAROUND)|BIT(SK_OPEN)|BIT(SK_INVENTORY)|BIT(SK_ESCAPE));
     sb_snum = j & ~p->interface_toggle_flag;
@@ -2681,7 +2681,7 @@
             sb_snum |= BIT(SK_INV_LEFT);   // emulate move left...
         }
         if (p->newowner == -1)
-            if (TEST_SYNC_KEY(sb_snum, SK_INV_LEFT|SK_INV_RIGHT))
+            if (TEST_SYNC_KEY(sb_snum, SK_INV_LEFT) || TEST_SYNC_KEY(sb_snum, SK_INV_RIGHT))
             {
                 p->invdisptime = 26*2;
 
Index: source/player.c
===================================================================
--- source/player.c	(revision 1147)
+++ source/player.c	(working copy)
@@ -4080,7 +4080,7 @@
 
             // not jumping or crouching
 
-            if (!TEST_SYNC_KEY(sb_snum, SK_JUMP|SK_CROUCH) && p->on_ground && (sector[psect].floorstat&2) && p->posz >= (fz-(i<<8)-(16<<8)))
+            if (!TEST_SYNC_KEY(sb_snum, SK_JUMP) && !TEST_SYNC_KEY(sb_snum, SK_CROUCH) && p->on_ground && (sector[psect].floorstat&2) && p->posz >= (fz-(i<<8)-(16<<8)))
                 p->posz = fz-(i<<8);
             else
             {
Index: source/global.c
===================================================================
--- source/global.c	(revision 1148)
+++ source/global.c	(working copy)
@@ -23,7 +23,7 @@
 //-------------------------------------------------------------------------
 #include "duke3d.h"
 
-char *s_builddate = "20081121";
+char *s_builddate = "20081122";
 char *MusicPtr = NULL;
 int g_musicSize;
 
Index: source/game.c
===================================================================
--- source/game.c	(revision 1148)
+++ source/game.c	(working copy)
@@ -12311,7 +12311,8 @@
         }
         if (myz < (fz-(i<<8)) && (G_CheckForSpaceFloor(psect)|G_CheckForSpaceCeiling(psect)) == 0) //falling
         {
-            if (TEST_SYNC_KEY(sb_snum, SK_JUMP|SK_CROUCH) == 0 && myonground && (sector[psect].floorstat&2) && myz >= (fz-(i<<8)-(16<<8)))
+            if (!TEST_SYNC_KEY(sb_snum, SK_JUMP) && !TEST_SYNC_KEY(sb_snum, SK_CROUCH) &&
+                myonground && (sector[psect].floorstat&2) && myz >= (fz-(i<<8)-(16<<8)))
                 myz = fz-(i<<8);
             else
             {
