diff --git a/src/fccharset.c b/src/fccharset.c
index 69fbf66..114f948 100644
--- a/src/fccharset.c
+++ b/src/fccharset.c
@@ -274,7 +274,7 @@
     if (!leaf)
 	return FcFalse;
     b = &leaf->map[(ucs4 & 0xff) >> 5];
-    *b |= (1 << (ucs4 & 0x1f));
+    *b |= (1U << (ucs4 & 0x1f));
     return FcTrue;
 }
 
@@ -290,7 +290,7 @@
     if (!leaf)
 	return FcTrue;
     b = &leaf->map[(ucs4 & 0xff) >> 5];
-    *b &= ~(1 << (ucs4 & 0x1f));
+    *b &= ~(1U << (ucs4 & 0x1f));
     /* We don't bother removing the leaf if it's empty */
     return FcTrue;
 }
@@ -594,7 +594,7 @@
     leaf = FcCharSetFindLeaf (fcs, ucs4);
     if (!leaf)
 	return FcFalse;
-    return (leaf->map[(ucs4 & 0xff) >> 5] & (1 << (ucs4 & 0x1f))) != 0;
+    return (leaf->map[(ucs4 & 0xff) >> 5] & (1U << (ucs4 & 0x1f))) != 0;
 }
 
 static FcChar32
diff --git a/src/fcfreetype.c b/src/fcfreetype.c
index 4d076b7..49fb39f 100644
--- a/src/fcfreetype.c
+++ b/src/fcfreetype.c
@@ -1670,7 +1670,7 @@
 		bits = os2->ulCodePageRange2;
 		bit = FcCodePageRange[i].bit - 32;
 	    }
-	    if (bits & (1 << bit))
+	    if (bits & (1U << bit))
 	    {
 		/*
 		 * If the font advertises support for multiple
@@ -2378,7 +2378,7 @@
 			goto bail;
 		}
 		off = ucs4 & 0xff;
-		leaf->map[off >> 5] |= (1 << (off & 0x1f));
+		leaf->map[off >> 5] |= (1U << (off & 0x1f));
 	    }
 
 	    ucs4 = FT_Get_Next_Char (face, ucs4, &glyph);
diff --git a/src/ftglue.h b/src/ftglue.h
index e0fd171..650ee28 100644
--- a/src/ftglue.h
+++ b/src/ftglue.h
@@ -69,14 +69,14 @@
 
 #define  GET_Byte()      (*stream->cursor++)
 #define  GET_Short()     (stream->cursor += 2, (FT_Short)( \
-				(*(((FT_Byte*)stream->cursor)-2) << 8) | \
-				 *(((FT_Byte*)stream->cursor)-1) \
+				((FT_ULong)*(((FT_Byte*)stream->cursor)-2) << 8) | \
+				 (FT_ULong)*(((FT_Byte*)stream->cursor)-1) \
 			 ))
 #define  GET_Long()      (stream->cursor += 4, (FT_Long)( \
-				(*(((FT_Byte*)stream->cursor)-4) << 24) | \
-				(*(((FT_Byte*)stream->cursor)-3) << 16) | \
-				(*(((FT_Byte*)stream->cursor)-2) << 8) | \
-				 *(((FT_Byte*)stream->cursor)-1) \
+				((FT_ULong)*(((FT_Byte*)stream->cursor)-4) << 24) | \
+				((FT_ULong)*(((FT_Byte*)stream->cursor)-3) << 16) | \
+				((FT_ULong)*(((FT_Byte*)stream->cursor)-2) << 8) | \
+				 (FT_ULong)*(((FT_Byte*)stream->cursor)-1) \
 			 ))
 
 #define  GET_Char()      ((FT_Char)GET_Byte())
