That's because you have error reporting set to include notices in PHP. Which generates a 'notice' output if $_SERVER['HTTP_REFERER'] isn't set when vB tries to do this:
PHP Code:
define('REFERRER', $_SERVER['HTTP_REFERER']);
When I hit the page, I'm clicking the link on this page first, so the HTTP_REFERER is set with the vborg page I'm being referred by. If you hit your page without being 'referred' by another page (i.e. type the URL in by hand in your browser), then HTTP_REFERER won't be set. And because the notice is being printed before vB sends the page headers, it screws up page output.
To fix that you'll need to turn off 'notice' level reporting in php.ini:
Code:
; - Show all errors except for notices and coding standards warnings
;
error_reporting = E_ALL & ~E_NOTICE
Of course the real fix would be for vB to test for the existence of $_SERVER['HTTP_REFERER'] before using it in a define(), so if you want to go submit a bug report on vb.com ...
-- hugh