Monster doesnt recognize when theres a current follower?

I debugged the current follower straight from the code where it says what current follower is, and it came back correct. but the variable equal to it is null all the time.

using UnityEngine;
using System.Collections;

public class Monster : MonoBehaviour {
		
	public int Health;
	public float Speed;
	public int Damage;

	public float IdleDistance;
	public float AttackDistance;
	public float AttackRange;
	public float GiveUpDistance;
	private float Distance;
	private float FollowerDistance;

	private GameObject PrimaryTarget;
	private Follower SecondaryTarget;

	private enum PrimarySecondaryNull {Primary, Secondary, None}
	private PrimarySecondaryNull AttackState;

	void Start () {
		PrimaryTarget = GameObject.Find ("Player");
		AttackState = PrimarySecondaryNull.None;
	}

	void Update () {
		Debug.Log (SecondaryTarget);

		Distance = Vector3.Distance (PrimaryTarget.rigidbody2D.transform.position, rigidbody2D.transform.position);

		if (SecondaryTarget)
		{
			SecondaryTarget = GetComponent <OneFollower> ().CurrentFollower;
			FollowerDistance = Vector3.Distance (SecondaryTarget.rigidbody2D.transform.position, rigidbody2D.transform.position);
		}

		if (Distance < AttackDistance && SecondaryTarget == null)
		{
			AttackState = PrimarySecondaryNull.Primary;
		}
		if (Distance < AttackDistance && Distance <= FollowerDistance)
		{
			AttackState = PrimarySecondaryNull.Primary;
		}
		if (FollowerDistance < AttackDistance && FollowerDistance < Distance && SecondaryTarget != null)
		{
			AttackState = PrimarySecondaryNull.Secondary;
		}
		if (Distance > GiveUpDistance && SecondaryTarget == null)
		{
			AttackState = PrimarySecondaryNull.None;
		}
		if (Distance > GiveUpDistance && FollowerDistance > GiveUpDistance)
		{
			AttackState = PrimarySecondaryNull.None;
		}
		if (AttackState == PrimarySecondaryNull.Primary)
		{
			if (PrimaryTarget.rigidbody2D.transform.position.x > rigidbody2D.transform.position.x + IdleDistance)
			{
				rigidbody2D.transform.position += Vector3.right * Speed * Time.deltaTime;
			}
			if (PrimaryTarget.rigidbody2D.transform.position.x < rigidbody2D.transform.position.x - IdleDistance)
			{
				rigidbody2D.transform.position += Vector3.left * Speed * Time.deltaTime;
			}
			if (PrimaryTarget.rigidbody2D.transform.position.y > rigidbody2D.transform.position.y + IdleDistance)
			{
				rigidbody2D.transform.position += Vector3.up * Speed * Time.deltaTime;
			}
			if (PrimaryTarget.rigidbody2D.transform.position.y < rigidbody2D.transform.position.y - IdleDistance)
			{
				rigidbody2D.transform.position += Vector3.down * Speed * Time.deltaTime;
			}
		}
		if (AttackState == PrimarySecondaryNull.Secondary)
		{
			if (SecondaryTarget.rigidbody2D.transform.position.x > rigidbody2D.transform.position.x + IdleDistance)
			{
				rigidbody2D.transform.position += Vector3.right * Speed * Time.deltaTime;
			}
			if (SecondaryTarget.rigidbody2D.transform.position.x < rigidbody2D.transform.position.x - IdleDistance)
			{
				rigidbody2D.transform.position += Vector3.left * Speed * Time.deltaTime;
			}
			if (SecondaryTarget.rigidbody2D.transform.position.y > rigidbody2D.transform.position.y + IdleDistance)
			{
				rigidbody2D.transform.position += Vector3.up * Speed * Time.deltaTime;
			}
			if (SecondaryTarget.rigidbody2D.transform.position.y < rigidbody2D.transform.position.y - IdleDistance)
			{
				rigidbody2D.transform.position += Vector3.down * Speed * Time.deltaTime;
			}
		}
	}
}

SecondaryTarget will never get assigned because the if (SecondaryTarget) will never pass:

if (SecondaryTarget) // never true, because only assignment is the one inside this
{
    SecondaryTarget = GetComponent <OneFollower> ().CurrentFollower;