diff --git a/src/mesh.jl b/src/mesh.jl
index 7177c01e4e8c679106e116dee01b946a365da014..c3648f50f7f5ca4b07be234e59c95487c673cc5e 100644
--- a/src/mesh.jl
+++ b/src/mesh.jl
@@ -172,9 +172,11 @@ function init_grid(img::Array{<:Any, 2}; type=:vertex)
 	init_grid(s..., (0.5, 0.5), s .- (0.5, 0.5))
 end
 
-function init_grid(img::Array{<:Any, 2}, m::Int, n::Int = m)
+function init_grid(img::Array{<:Any, 2}, m::Int, n::Int = m; type=:vertex)
     s = (size(img, 2), size(img, 1))
-    init_grid(m, n, (0.5, 0.5), s .- (0.5, 0.5))
+    type == :vertex ?
+        init_grid(((m, n) .- 1)..., (1.0, 1.0), s) :
+        init_grid((m, n)..., (0.5, 0.5), s .- (0.5, 0.5))
 end
 
 # horribly implemented, please don't curse me