diff --git a/plugins/generic-sessions/utils.c b/plugins/generic-sessions/utils.c
index 0d458d7b0008fadb926477701be8f084f2b2e8ee..98dfe31809ecbb65618f9f8410d73b6a0c40100f 100644
--- a/plugins/generic-sessions/utils.c
+++ b/plugins/generic-sessions/utils.c
@@ -29,7 +29,7 @@ sha1_to_lwsgw_hash(unsigned char *hash, lwsgw_hash *shash)
 	int n;
 
 	for (n = 0; n < 20; n++) {
-		*p++ = hex[hash[n] >> 4];
+		*p++ = hex[(hash[n] >> 4) & 0xf];
 		*p++ = hex[hash[n] & 15];
 	}