If you're sending the top of the page ("Please wait, uploading in progress...") back using ns_write, there is no problem with flushing on the server side. However, Internet Explorer has a strange behavior that you may not know about: if the connection is still open, it won't perform the initial rendering of the page until it has received at least X bytes (where X is something like 200 or 300). Try adding a few lines of HTML comments to the initial string you send back, and see if that takes care of your problem.