Idle animation plays while running (2D)

I have my character on stage with a transition between the Idle and Running animation, which is triggered when the parameter Speed is greater than 0.1, and a transition back when Speed is less than 0.1.

The animations are working however, when the character turns around and runs in the opposite direction, the idle animation plays for a second before switching to the running animation, causing the character to slide across the screen for a moment. It looks really terrible and I have no idea how to fix this. Any help will be greatly appreciated!

Here is the script for the character movement

public class PlayerScript : MonoBehaviour {

	public float maxSpeed = 10f;
	private bool facingRight = true;

	private Rigidbody2D rb2d;
	private Animator anim;

	void Start()
		rb2d = gameObject.GetComponent<Rigidbody2D>();
		anim = gameObject.GetComponent<Animator>();

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

		//	Set Animator parameter
		anim.SetFloat("Speed", Mathf.Abs (move));

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

		//	Flip Player direction
		if (move > 0 && !facingRight) {
			flip ();
		} else if (move < 0 && facingRight) {
			flip ();

	void flip()
		facingRight = !facingRight;
		Vector3 scale = transform.localScale;
		scale.x *= -1;
		transform.localScale = scale;


Checking Exit Time on the transition from Run → Idle prevents the character from sliding. But of course, now there is another problem. The running animation still plays for a second after the character actually stops. Any suggestions?

Try and change input.getaxis to input. GetaxisRaw.