Problems with boolean modifier

I am trying to use the difference boolean modifier to create a simple shape depression in another object. For some reason the sphere, which is the one creating the depression, seems to be duplicating itself and joining to the main object. I have subdivided the mesh enough and can perform this operation on other files.

So when I hide the sphere, I am still left with a joined sphere and when I move that sphere by selection in the outliner, there’s still another sphere joined to the main mesh.

Any thoughts? When I use factory defaults on a new file, I can perform this operation without any problems so something in the modelling file must be causing a problem.

Using v.2.65

Check face normals are correct an all objects. Try the different boolean operations in the modifier.

Many thanks for the answer. I recalculated the normals and all seems to be working fine.