diff --git a/src/image.jl b/src/image.jl
index 0cf06e56b4876d9711596f685b4d83157ea2538d..9d9da61505f2df903d21feed031c19d34e872c59 100644
--- a/src/image.jl
+++ b/src/image.jl
@@ -310,6 +310,7 @@ Base.eltype(it::PixelIterator) = eltype(it.grid)
 
 Return an iterator over all integer cartesian indices (corresponding to pixel
 centers) intersecting a given `cell` or geometry `A`.
+The returned indices represent coordinates in the given mesh.
 """
 function PixelIterator(mesh::Mesh, cell::Int)
     A = SArray{Tuple{ndims_space(mesh), nvertices_cell(mesh)}}(
@@ -359,7 +360,7 @@ function project_l2_pixel!(u::FeFunction, img)
 
     # first loop to count number of triangles intersecting pixel evaluation
     # points
-    ncells = zeros(axes(img))
+    ncells = zeros(axes(img, 2), axes(img, 1))
     for cell in cells(mesh)
         pixels = PixelIterator(mesh, cell)
         for I in pixels