diff --git a/src/modules/Image/encodings/png.c b/src/modules/Image/encodings/png.c
index 48fde7f2c705c81ab6dc3224a8eba92c8e7e7122..3e2dcb54f7f0baa39c6a04d53650b50c8a28998e 100644
--- a/src/modules/Image/encodings/png.c
+++ b/src/modules/Image/encodings/png.c
@@ -1446,7 +1446,8 @@ static void img_png_decode(INT32 args, int mode)
 
 	    ref_push_string(b->item[1].u.string);
 	    ref_push_string(b->item[0].u.string);
-	    mapping_insert(m,sp-1,sp-2);
+            /* do not replace existing entries */
+	    low_mapping_insert(m,sp-1,sp-2,0);
 	    pop_n_elems(2);
       }
    }