diff --git a/pipi/histogram/histogram.c b/pipi/histogram/histogram.c
index 82f897d..4f1caed 100644
--- a/pipi/histogram/histogram.c
+++ b/pipi/histogram/histogram.c
@@ -43,17 +43,23 @@ int pipi_get_image_histogram(pipi_image_t *img, pipi_histogram_t*h, int flags)
     if(!h) return -1;
 
     data = (uint8_t *)pipi_getpixels(img, PIPI_PIXELS_RGBA_C)->pixels;
+    memset(h->a, 0, 256*(sizeof(unsigned int)));
+    memset(h->r, 0, 256*(sizeof(unsigned int)));
+    memset(h->g, 0, 256*(sizeof(unsigned int)));
+    memset(h->b, 0, 256*(sizeof(unsigned int)));
+    memset(h->y, 0, 256*(sizeof(unsigned int)));
+
 
     for(i=0; i< img->w*img->h*4; i+=4)
     {
         if(flags&PIPI_COLOR_A)
-        h->a[data[i+3]]++;
+            h->a[data[i+3]]++;
         if(flags&PIPI_COLOR_R)
-        h->r[data[i+2]]++;
+            h->r[data[i+2]]++;
         if(flags&PIPI_COLOR_G)
-        h->g[data[i+1]]++;
+            h->g[data[i+1]]++;
         if(flags&PIPI_COLOR_B)
-        h->b[data[i]]++;
+            h->b[data[i]]++;
         if(flags&PIPI_COLOR_Y)
         {
             uint32_t p = 0.;