rigidbody2D addforce on x-axis

Hi there, I am trying to wall jumping into my 2d platformer. I have managed to code it so that a certain command will run when next to wall while in the air but it does not apply the force x-axis correctly.

		if(Walled && Input.GetButtonDown("Jump") && !Grounded && facingRight)
		{
			rigidbody2D.AddForce(new Vector2(-600, 600));
			Debug.Log("Right Jump");
		}
		if(Walled && Input.GetButtonDown("Jump") && !Grounded && !facingRight)
		{
			rigidbody2D.AddForce(new Vector2(600, 600));
			Debug.Log("Left Jump");

It has no problem applying the upwards force but only moves enough on the x-axis to no longer be Walled.
I think it might be because it is no longer applying the force as it is no longer next to a wall but I am unsure if this is right or how to fix it.

Whole Script:

using UnityEngine;
using System.Collections;

public class PlayerController : MonoBehaviour 
{
	[HideInInspector]
	public bool facingRight = true;
	public float maxSpeed = 10f; 
	public float jumpForce = 700f;	
	public Transform groundCheck;
	public Transform wallCheck;
	public LayerMask whatIsGround;
	public float groundRadius = 0.2f;
	bool Grounded = false;
	bool Walled = false;
	Animator anim;

	void Start () 
	{
		anim = GetComponent<Animator>();
	}

	void FixedUpdate () 
	{
		Grounded = Physics2D.OverlapCircle (groundCheck.position, groundRadius, whatIsGround);
		anim.SetBool ("Ground", Grounded);
		Walled = Physics2D.OverlapCircle (wallCheck.position, 0.1f, whatIsGround);
		anim.SetBool ("Walled", Walled);

		float move = Input.GetAxis ("Horizontal");

		anim.SetFloat ("Speed", Mathf.Abs(move));

		rigidbody2D.velocity = new Vector2 (move * maxSpeed, rigidbody2D.velocity.y);

		if(move > 0 &&!facingRight)
			Flip ();
		else if(move < 0 && facingRight)
			Flip ();
	}

	void Update()
	{
		if(Grounded && Input.GetButtonDown("Jump"))
		{
			anim.SetBool ("Ground", false);
			rigidbody2D.AddForce(new Vector2(0, jumpForce));
		}
		if(Walled && Input.GetButtonDown("Jump") && !Grounded && facingRight)
		{
			rigidbody2D.AddForce(new Vector2(-600, 600));
			Debug.Log("Right Jump");
		}
		if(Walled && Input.GetButtonDown("Jump") && !Grounded && !facingRight)
		{
			rigidbody2D.AddForce(new Vector2(600, 600));
			Debug.Log("Left Jump");
		}
	}

	void Flip()
	{
		facingRight = !facingRight;
		Vector3 TheScale = transform.localScale;
		TheScale.x *= -1;
		transform.localScale = TheScale;
	}
}

Thanks in advance!

just change the jumpforce to the x axis of the vector.

rigidbody2D.AddForce(new Vector2(jumpForce, 0));

against the wall you can try to add a specific force from the x and y axis:

rigidbody2D.AddForce(new Vector2(jumpForce, jumpForce));