diff --git a/src/syncterm/term.c b/src/syncterm/term.c
index 1fc9fd63d6c4e9865d77e8a90afc14a296c19f29..d66d5587d44b615c3278fee0d0b8e3f4b4848742 100644
--- a/src/syncterm/term.c
+++ b/src/syncterm/term.c
@@ -100,9 +100,9 @@ void mousedrag(unsigned char *scrollback)
 						memcpy(sbuffer,screen,sbufsize);
 						for(pos=startpos;pos<=endpos;pos++) {
 							if((sbuffer[pos*2+1]&0x70)!=0x10)
-								sbuffer[pos*2+1]=sbuffer[pos*2+1]&0x8F|0x10;
+								sbuffer[pos*2+1]=(sbuffer[pos*2+1]&0x8F)|0x10;
 							else
-								sbuffer[pos*2+1]=sbuffer[pos*2+1]&0x8F|0x60;
+								sbuffer[pos*2+1]=(sbuffer[pos*2+1]&0x8F)|0x60;
 							if(((sbuffer[pos*2+1]&0x70)>>4) == (sbuffer[pos*2+1]&0x0F)) {
 								sbuffer[pos*2+1]|=0x08;
 							}