diff --git a/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp b/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp
index c3877c2c9f22897b4f7b8cdd586d70b08a3aacdf..d055c131183669f36a44c1986227edc93f7948a0 100644
--- a/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp
+++ b/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp
@@ -994,7 +994,7 @@ void AUD_OpenALDevice::updateStreams()
 				if(info != AL_PLAYING)
 				{
 					// if it really stopped
-					if(sound->m_eos)
+					if(sound->m_eos && info != AL_INITIAL)
 					{
 						if(sound->m_stop)
 							sound->m_stop(sound->m_stop_data);