Freeze camera rotation C#

I have this code:

camera.transform.Rotate (-VerticalAxis.Value * 3f, HorizintalAxis.Value * 3f, 0);

I have created a joystick that moves the camera with this code, theoretically the z-axis must not change, but it changes, creating a strange distorted effect.

Quite possibly the problem is that the spin is relatively to himself, try set in World:

camera.transform.Rotate (-VerticalAxis.Value 3f, HorizintalAxis.Value 3f, 0.0f, Space.World);