Today I ran into gut wrenching issue when I was modifying web application zones.
Basically I had a web application with two zones on 2 IIS websites
http://app.domain.com as Default zone
https://app.domain2.com as Internet zone
I wanted to switch addresses around so Internet zone becomes a Default zone.
So you do it by removing SharePoint from IIS for both zones, without deleting IIS websites.
Once it is done, you have a web application that does not have an IIS website. They are still there in IIS but stopped.
Now you need to re-add websites by Extend. You choose: existing website and choose a website.
All is fine if you do Default Zone first. If you happen to try to Extend Internet zone first, you will get an error message that you should extend Default zone first. Fair enough, you try to go back to Manage Web Applications to start again and you get:
Object reference not set to the instance of the object. Lovely.
I checked IISreset did not work, restarting OWSTimer did not work either.
What I did to fix it is I went to Alternate Access Mapping configuration page, this one opened fine, and I clicked my poor broken web application and clicked Ok. After that, something got fixed and I can access Manage Web Applications page again.