diff --git a/util/ncgg/hall.c b/util/ncgg/hall.c
index 94eb5504a..4bb5a0a11 100644
--- a/util/ncgg/hall.c
+++ b/util/ncgg/hall.c
@@ -57,7 +57,7 @@ card(sp) register short *sp; {
 	register sum,i;
 	
 	sum=0;
-	for(i=0;i<8*SETSIZE;i++)
+	for(i=0;i<8*sizeof(short)*SETSIZE;i++)
 		if (BIT(sp,i))
 			sum++;
 	return(sum);