Index: ram/chksec.c
===================================================================
--- ram/chksec.c	(revision 2370d812d2ee2068cd7a4982d40f86f2e982000d)
+++ ram/chksec.c	(revision 96496d0f7c3052772d6ec0e93bcaa4cad59acc09)
@@ -432,6 +432,6 @@
 					/* regroup */
 
-					np->e_data2 = (np->e_data2 & 0x00F0) |
-						grptmap[grp];
+					np->e_data2 = (int8_t)((np->e_data2 & 0x00F0) |
+						grptmap[grp]);
 
 					/* transpose */
@@ -444,5 +444,5 @@
 						nv = 0;
 
-					np->e_data1 = nv;
+					np->e_data1 = (int8_t)nv;
 
 				} else if ((et EQ EV_ANRS) OR (et EQ EV_ANVL)) {
@@ -450,6 +450,6 @@
 					/* regroup */
 
-					np->e_data1 = (np->e_data1 & 0x000F) |
-						(grptmap[grp] << 4);
+					np->e_data1 = (int8_t)((np->e_data1 & 0x000F) |
+						(grptmap[grp] << 4));
 
 				} else {
@@ -458,9 +458,9 @@
 
 					if (cmgtype[et])
-						np->e_data2 = (np->e_data2 & 0x00F0) |
-							grptmap[grp];
+						np->e_data2 = (int8_t)((np->e_data2 & 0x00F0) |
+							grptmap[grp]);
 					else
-						np->e_data1 = (np->e_data1 & 0x00F0) |
-							grptmap[grp];
+						np->e_data1 = (int8_t)((np->e_data1 & 0x00F0) |
+							grptmap[grp]);
 				}
 			}
