Trigger triggers twice

With the following code I have the trigger trigger twice:

function OnTriggerEnter(thisCollider :Collider) :void
{
	Debug.Log("entered");
}

function OnTriggerExit(thisCollider :Collider) :void
{
	Debug.Log("exit");
}

So my console shows:
entered
entered
exit
exit

I have only one trigger in my scene and only enter and exit it one time.
Anyone else having this behavior with unity4?

Do you have multiple colliders on the object which enters the trigger?

If yes you can use something like this to prevent triggering twice assuming this is no Unity 4.0 bug:

bool _triggered;

void OnTriggerEnter(Collider hit)
{
    if (_triggered)
    {
        return;
    }
    _triggered = true;

    Debug.Log("entered");
}

void OnTriggerExit(Collider hit)
{
    if (!_triggered)
    {
        return;
    }
    _triggered = false;

    Debug.Log("exit");
}

Reported it as a unity4 bug

For some reason, setting a boolean check for colliders can sometimes cause the boolean value to either flip, or to turn on/off the OnTriggerEnter/OnTriggerExit methods while remaining in the trigger area,
like opening a door and closing it repeatedly while in the trigger area, or flipping the boolean value so it closes when you approach and opens when you walk away.

using a simple variable iterator prevents the actual method from being called repeatedly, guaranteeing only one execution per collision.

//previous code in class
//using a door opening and closing as an example
[SerializeField] private GameObject device;
	private int i = 0;


	void OnTriggerEnter(Collider other){
		DoorScript door = device.GetComponent<DoorScript>();
		if (i == 0) {
			if (door != null) {
				door.Operate ();
				i++;
			}
		}

	}
	void OnTriggerExit(Collider other){
		DoorScript door = device.GetComponent<DoorScript>();
		if (i == 1) {
			if (door != null) {
				door.Operate ();
				i = 0;
			}
		}

	}
/* All DoorScript contains is a function Operate() and a boolean for if the door is open, and an if/else statement in Operate() for moving door to open if bool is false (set to closed) and moving door to closed if bool is true (set to open)