I'm not sure why it doesn't work. MATLAB is case sensitive so even though you chose the very bad names image and Image for things, it should still work. I recommend that you not name your image "image" since when you do that you're overriding the built-in command called image(). Secondly, call the axes "axesImage" not just "Image". Next, set a breakpoint there and when it stops, type "handles" on the command line and see what it spits out. Do you see a field called axesImage? If you don't then you don't have it. Are you sure it's the "tag" property that is called image and not the "name" property?