Looking at your question, you do not seem to bind back the click after you unbind it, so it will not fire. (Assuming you've kept the sequence of your functionality right). You'll have to do it this way:
//Set a function with the action you need to do after you click the train
function trainClick() {
alert('train is clicked');
//do some stuff
}
When you're unbinding, call unbind with the function name:
$('#locations').click(function(){
$('#train').unbind('click',trainClick);
//do some stuff
}
Then, to bind the click (when #close is clicked), you'd use :
$('.close').click(function(){
$('#train').bind('click',trainClick);
//do some stuff
}
NOTE :
A better way would be use on and off, if you are using a version greater than jQuery v1.7 because, well.. then it will not work. In the code above, just replace bind with on and unbind with off.
$('#train').on('click',trainClick);
$('#train').off('click',trainClick);
Hope this helps!