diff --git a/MathExtras.h b/MathExtras.h
index 78150c8..484faf4 100644
--- a/MathExtras.h
+++ b/MathExtras.h
@@ -87,7 +87,7 @@
 /// bit.  Ex. CountLeadingZeros_32(0x00F000FF) == 8.
 /// Returns 32 if the word is zero.
 static inline unsigned CountLeadingZeros_32(uint32_t Value) {
-	unsigned Count; // result
+	unsigned Shift, Count; // result
 #if __GNUC__ >= 4
 	// PowerPC is defined for __builtin_clz(0)
 #if !defined(__ppc__) && !defined(__ppc64__)
@@ -98,7 +98,7 @@
 	if (!Value) return 32;
 	Count = 0;
 	// bisection method for count leading zeros
-	for (unsigned Shift = 32 >> 1; Shift; Shift >>= 1) {
+	for (Shift = 32 >> 1; Shift; Shift >>= 1) {
 		uint32_t Tmp = Value >> Shift;
 		if (Tmp) {
 			Value = Tmp;
@@ -123,7 +123,7 @@
 /// one bit (64 bit edition.)
 /// Returns 64 if the word is zero.
 static inline unsigned CountLeadingZeros_64(uint64_t Value) {
-	unsigned Count; // result
+	unsigned Shift, Count; // result
 #if __GNUC__ >= 4
 	// PowerPC is defined for __builtin_clzll(0)
 #if !defined(__ppc__) && !defined(__ppc64__)
@@ -137,7 +137,7 @@
 		if (!Value) return 64;
 		Count = 0;
 		// bisection method for count leading zeros
-		for (unsigned Shift = 64 >> 1; Shift; Shift >>= 1) {
+		for (Shift = 64 >> 1; Shift; Shift >>= 1) {
 			uint64_t Tmp = Value >> Shift;
 			if (Tmp) {
 				Value = Tmp;
@@ -242,7 +242,7 @@
 #else
 	uint32_t v = Value - ((Value >> 1) & 0x55555555);
 	v = (v & 0x33333333) + ((v >> 2) & 0x33333333);
-	return ((v + (v >> 4) & 0xF0F0F0F) * 0x1010101) >> 24;
+	return (((v + (v >> 4)) & 0xF0F0F0F) * 0x1010101) >> 24;
 #endif
 }
 
