Increasing A Value Keeps Doubling?!

Hello,

I have a script that detects if my raycast is clicked on a certain object, and when it is clicked, it increases a value by += 1. The problem is, is that my value is increase by 2, not 1?!

Here is my script:

if(hit.collider.name == "DropUnlock(Clone)" || hit.collider.name == "DropUnlock"){
   print("Drop Unlock");
	if(Input.GetButtonUp("Fire1")){
		Destroy(hit.collider.gameObject);	
		Values.unlocks = Values.unlocks + 1;
	}
}

Lets say my unlock is currently at 4. When the user clicks on the DropUnlock object, the unlock value changes from 4 to 6, not 5.

Why is this happening?

Thanks

var p_hit_break : int;

function Start ()
   {

  p_hit_break =1; 
   }

 if(hit.collider.name == "DropUnlock(Clone)" || hit.collider.name == "DropUnlock"){
 print("Drop Unlock");
  if(Input.GetButtonUp("Fire1") && p_hit_break ==1 ){
      p_hit_break =2;
      Destroy(hit.collider.gameObject); 
      Values.unlocks = Values.unlocks + 1;

       }
          }

by this method is that my value is increase by 1 as soon as it enter the loop it will become false when ever you want again this condition to work make p_hit_break ==1 so that the condition become true.