GameObject.Instantiate creates 2 objects?

Hi,
I’m creating a simple droid shooter and for some reason when the AI shoots it shoots two bullets. I’m sure I have it spaced correctly, every 15 frames. Anyone have any ideas?

Code:

if (moveCount == 50) {
		nav.SetDestination (new Vector3 (Random.Range (0, 10), -1, Random.Range (0, 10)));
		moveCount = 0;
	} else {
		moveCount++;
	}

		if (shootCount == 15) {
			if (Vector3.Distance (GameInformationHolder.gameInformation.player.transform.position, droid.transform.position) < 5) {
				droid.transform.LookAt (GameInformationHolder.gameInformation.player.transform);
				if (droid.attack > 0) {
					GameObject bulletObj = (GameObject)Object.Instantiate (droid.bulletPrefab, new Vector3 (droid.transform.position.x + droid.transform.forward.x * 2, droid.transform.position.y, droid.transform.position.z + droid.transform.forward.z * 2), droid.transform.rotation);
					bulletObj.GetComponentInChildren<Bullet> ().attack = droid.attack;
					bulletObj.GetComponentInChildren<Rigidbody> ().velocity = droid.transform.forward * droid.bulletSpeed;
					Debug.Log ("Enemy Shot!");
				}
			}
			shootCount = 0;
		} else {
			shootCount++;
		}

Does it also print to the console twice?
Also, are you positive that two are being instantiated at the same time? 15 frames certainly isn’t a lot, you might not notice the delay.