GUI Button disapears when clicked

Hi, I am trying to have this GUI Button disappear when it is clicked. I have tried to do the ‘if’ but it just stays and doesn’t disappear when clicked. Here is my code:

var generateCam : Camera;
var playerCam : Camera;
var extraCam : Camera;
var show : boolean = true;
function OnGUI () 
    {
    if (show == true){
    if (GUI.Button(Rect(10,10,150,30),"Play Scenario (P)"))
    {
    generateCam.enabled = false;
    playerCam.enabled = true;
    extraCam.enabled = false;
    show = !show;
    }
    }
    }

I think line show = !show was not performed.
Check if you have Exceptions in the lines before show = !show (may be generateCam, playerCam, extraCam are null in some reasons)