camera's behaviour problem

I’ve got a simple script written for changing cameras & following gameObjct. But they behave in unexpected way. 1st, game begins with view from second camera. 2ndly, the second camera position does not change to gameObject’s position.
Here comes the script:
using UnityEngine;
using System.Collections;

public class MyScript : MonoBehaviour
{
 	public void ChangeCameras()
	{
		Camera MainCamera = GameObject.Find("Main Camera").camera;
		Camera SecondCamera = GameObject.Find("Second Camera").camera;
	     
		MainCamera.enabled = false;
		SecondCamera.enabled = true;
		GameObject Target;
		Transform target;
	    Target = GameObject.FindWithTag("Needed Unit");
		target = Target.transform;
	    transform.parent = Target.transform;
		transform.LookAt(target.position); // or (target) -- doesn't really matter
	}
	
	public void ChangeAgain()
	{
    	Camera MainCamera = GameObject.Find("Main Camera").camera;
		Camera SecondCamera = GameObject.Find("Second Camera").camera; 
		
		transform.parent = null;
		
		MainCamera.enabled = true;
		SecondCamera.enabled = false;
	}
	public void Update()
	{
		if (Input.GetKeyDown(KeyCode.UpArrow))
    	{
        ChangeCameras();
        }
		if (Input.GetKeyDown(KeyCode.DownArrow)){
			ChangeAgain();
		}
	}
}

Help, please!

public class MyScript : MonoBehaviour
{
public void ChangeCameras()
{
Camera MainCamera = GameObject.Find(“Main Camera”).camera;
Camera SecondCamera = GameObject.Find(“Second Camera”).camera;

       MainCamera.enabled = false;
       SecondCamera.enabled = true;
       GameObject Target;
       Transform target;
        Target = GameObject.FindWithTag("Needed Unit");
       target = Target.transform;
        transform.parent = Target.transform;
       transform.LookAt(target.position); // or (target) -- doesn't really matter
    }

    public void ChangeAgain()
    {
        Camera MainCamera = GameObject.Find("Main Camera").camera;
       Camera SecondCamera = GameObject.Find("Second Camera").camera; 

       transform.parent = null;

       MainCamera.enabled = true;
       SecondCamera.enabled = false;
    }
    public void Update()
    {

       if (Input.GetKeyDown(KeyCode.UpArrow))
        {
        ChangeCameras();
        }
       else if (Input.GetKeyDown(KeyCode.DownArrow)){
         ChangeAgain();
       }
    }
}

I think you need only add else if, hope it work