diff --git a/src/sbbs3/chksmb.c b/src/sbbs3/chksmb.c
index 314669ed590c5d60e4a537d83b1f5e147ceb7b55..56171ff45e3698878ed8107f9f61ec12591d7b16 100644
--- a/src/sbbs3/chksmb.c
+++ b/src/sbbs3/chksmb.c
@@ -124,16 +124,16 @@ int main(int argc, char **argv)
 	BOOL		stop_on_error=FALSE,pause_on_error=FALSE,chkxlat=TRUE,chkalloc=TRUE,chkhash=TRUE
 				,lzhmsg,extinfo=FALSE,msgerr;
 	ushort		xlat;
-	ulong		l,m,n,length,size,total=0,orphan=0,deleted=0,headers=0
+	ulong		l,m,n,length,size,total=0,orphan,deleted,headers
 				,*offset,*number,xlaterr
 				,delidx
-				,delhdrblocks,deldatblocks,hdrerr=0,lockerr=0,hdrnumerr=0,hdrlenerr=0
-				,getbodyerr=0,gettailerr=0
-				,hasherr=0
+				,delhdrblocks,deldatblocks,hdrerr,lockerr,hdrnumerr,hdrlenerr
+				,getbodyerr,gettailerr
+				,hasherr
 				,acthdrblocks,actdatblocks
-				,dfieldlength=0,dfieldoffset=0
-				,dupenum=0,dupenumhdr=0,dupeoff=0,attr=0,actalloc=0
-				,datactalloc=0,misnumbered=0,timeerr=0,idxofferr=0,idxerr
+				,dfieldlength,dfieldoffset
+				,dupenum,dupenumhdr,dupeoff,attr,actalloc
+				,datactalloc,misnumbered,timeerr,idxofferr,idxerr
 				,zeronum,idxzeronum,idxnumerr,packable=0L,totallzhsaved=0L
 				,totalmsgs=0,totallzhmsgs=0,totaldelmsgs=0,totalmsgbytes=0L
 				,lzhblocks,lzhsaved;
@@ -257,8 +257,13 @@ int main(int argc, char **argv)
 	}
 
 	headers=deleted=orphan=dupenumhdr=attr=zeronum=timeerr=lockerr=hdrerr=0;
+	hdrnumerr=hdrlenerr=0;
 	actalloc=datactalloc=deldatblocks=delhdrblocks=xlaterr=0;
 	lzhblocks=lzhsaved=acthdrblocks=actdatblocks=0;
+	getbodyerr=gettailerr=0;
+	hasherr=0;
+	acthdrblocks=actdatblocks=0;
+	dfieldlength=dfieldoffset=0;
 
 	for(l=smb.status.header_offset;l<length;l+=size) {
 		size=SHD_BLOCK_LEN;