Why does this script make my camera jump when I move back?

Alright, so I got a script from somewhere that I tweaked a bit, and it makes my character jump when I hit S, or Down while looking at the ground. Can someone please help me fix this bug?

using UnityEngine;
using System.Collections;

public class fps_move_player : MonoBehaviour {

	public float speed = 50.0F;
    public float jumpSpeed = 60.0F; 
    public float gravity = 60.0F;
    private Vector3 moveDirection = Vector3.zero;
	
	// Use this for initialization
	void Start () {
	
	}
	
	// Update is called once per frame
	void Update () {
		 CharacterController controller = GetComponent<CharacterController>();
        // is the controller on the ground?
        if (controller.isGrounded) {
            //Feed moveDirection with input.
            moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
            moveDirection = transform.TransformDirection(moveDirection);
            //Multiply it by speed.
            moveDirection *= speed;
            //Jumping
            if (Input.GetButton("Jump"))
                moveDirection.y = jumpSpeed;
 
        }
        //Applying gravity to the controller
        moveDirection.y -= gravity * Time.deltaTime;
        //Making the character move
        controller.Move(moveDirection * Time.deltaTime);
	}

line 22:

try this:
moveDirection = new Vector3(Input.GetAxis(“Horizontal”), Input.GetAxis(“Vertical”),0 );

instead of:
moveDirection = new Vector3(Input.GetAxis(“Horizontal”), 0, Input.GetAxis(“Vertical”));