diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 68e67a8ac3dabbf381c98d4979f3233709a5b124..564e2450e801c6e4197123724d7793c15cf29f58 100755
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -1764,13 +1764,14 @@ bool LLAppViewer::cleanup()
 
 	if (gAudiop)
 	{
-		// shut down the streaming audio sub-subsystem first, in case it relies on not outliving the general audio subsystem.
-
-		LLStreamingAudioInterface *sai = gAudiop->getStreamingAudioImpl();
+        // be sure to stop the internet stream cleanly BEFORE destroying the interface to stop it.
+        gAudiop->stopInternetStream();
+        // shut down the streaming audio sub-subsystem first, in case it relies on not outliving the general audio subsystem.
+        LLStreamingAudioInterface *sai = gAudiop->getStreamingAudioImpl();
 		delete sai;
 		gAudiop->setStreamingAudioImpl(NULL);
 
-		// shut down the audio subsystem
+        // shut down the audio subsystem
         gAudiop->shutdown();
 
 		delete gAudiop;