diff --git a/exa/exa_accel.c b/exa/exa_accel.c
index 41fcb129f4626942a65b469030940d43d346c49c..e632331da6505962fa01af39d05d7e3215594ce5 100644
--- a/exa/exa_accel.c
+++ b/exa/exa_accel.c
@@ -738,7 +738,7 @@ exaPolySegment(DrawablePtr pDrawable, GCPtr pGC, int nseg, xSegment * pSeg)
         }
     }
 
-    prect = xallocarray(nseg, sizeof(xRectangle));
+    prect = xallocarray((unsigned int)nseg, sizeof(xRectangle));
     for (i = 0; i < nseg; i++) {
         if (pSeg[i].x1 < pSeg[i].x2) {
             prect[i].x = pSeg[i].x1;
diff --git a/hw/xnest/Display.c b/hw/xnest/Display.c
index e6d07dfd1201a9623f2bb12df15c487f94dcc24b..dc59c6b91b6f21ede1ca5c12a400c03896a798af 100644
--- a/hw/xnest/Display.c
+++ b/hw/xnest/Display.c
@@ -41,7 +41,7 @@ XVisualInfo *xnestVisuals;
 int xnestNumVisuals;
 int xnestDefaultVisualIndex;
 Colormap *xnestDefaultColormaps;
-static int xnestNumDefaultColormaps;
+static unsigned int xnestNumDefaultColormaps;
 int *xnestDepths;
 int xnestNumDepths;
 XPixmapFormatValues *xnestPixmapFormats;
diff --git a/randr/rrcrtc.c b/randr/rrcrtc.c
index ae7e30605618349f1594c9308166ff5439d5adbd..d870a9ab3192dd17e117f42cc7ee48e962d96e20 100644
--- a/randr/rrcrtc.c
+++ b/randr/rrcrtc.c
@@ -1239,7 +1239,7 @@ ProcRRSetCrtcConfig(ClientPtr client)
     rrScrPrivPtr pScrPriv;
     RRCrtcPtr crtc;
     RRModePtr mode;
-    int numOutputs;
+    unsigned int numOutputs;
     RROutputPtr *outputs = NULL;
     RROutput *outputIds;
     TimeStamp time;