Third person movement help?

So im working on making a third person camera and it works and follows just fine, i have it set to look at where the camera is facing and it works fine aswell. but whenever it stops moving it rotates itself to face an axis line instead of resting when i stop moving. i assume it has something to involve with the “snap to camera” script i have so ill show what i have on it.
using UnityEngine;
using System.Collections;

public class TP_Motor : MonoBehaviour
{
	public static TP_Motor Instance;

	public float MoveSpeed = 10f;

	public Vector3 MoveVector { get; set; }

	void Awake()
	{
		Instance = this;
	}


	public void UpdateMotor()
	{
		SnapAlignCharacterWithCamera ();
		ProcessMotion ();
	}

	void ProcessMotion()
	{
		MoveVector = transform.TransformDirection (MoveVector);
		if (MoveVector.magnitude > 1)
			MoveVector = Vector3.Normalize (MoveVector);
		MoveVector *= MoveSpeed;
		MoveVector *= Time.deltaTime;
		TP_Controller.CharacterController.Move (MoveVector);
	}

	void SnapAlignCharacterWithCamera()
	{
		if (MoveVector.x != 0 || MoveVector.z != 0) 
		{
		 transform.rotation = Quaternion.Euler (transform.eulerAngles.x,
			                                       Camera.main.transform.eulerAngles.y,
			                                       transform.eulerAngles.z);
		}

	}

}

it sure is because of your snap thing. but if you are using the characterController, you can also use the mouse look. Your way of doing it seems very complicated.