Index: ram/msm.c
===================================================================
--- ram/msm.c	(revision 6f0834ce205e6510e53d644eb9da231b5003f586)
+++ ram/msm.c	(revision 72f479429448ebfd1050d25d44b5cef2f169b0ce)
@@ -702,5 +702,5 @@
 														ep->e_time = t_cur;
 														ep->e_type = EV_ANVL;
-														ep->e_data1 = (src2var[i] << 4) | t1;
+														ep->e_data1 = (int8_t)((src2var[i] << 4) | t1);
 														ep->e_dn = (struct s_entry *)((int32_t)t2 << 16);
 														p_cur = e_ins(ep, ep_adj(p_cur, 0, t_cur))->e_fwd;
@@ -726,5 +726,5 @@
 
 						t1 = (miport << 4) | michan;
-						t2 = ((mdb2 << 9) | (mdb1 << 2)) ^ 0x8000;
+						t2 = ((mdb2 << 9) | (mdb1 << 2)) ^ (int16_t)0x8000;
 						mpbend[t1] = t2;
 
@@ -743,5 +743,5 @@
 											ep->e_time = t_cur;
 											ep->e_type = EV_ANVL;
-											ep->e_data1 = i;
+											ep->e_data1 = (int8_t)i;
 											ep->e_dn = (struct s_entry *)((int32_t)t2 << 16);
 											p_cur = e_ins(ep, ep_adj(p_cur, 0, t_cur))->e_fwd;
