diff --git a/src/alstream.cpp b/src/alstream.cpp
index 487f09f..4e32a78 100644
--- a/src/alstream.cpp
+++ b/src/alstream.cpp
@@ -186,7 +186,7 @@ ALStream::State ALStream::queryState()
 
 float ALStream::queryOffset()
 {
-	if (state == Closed)
+	if (state == Closed || !source)
 		return 0;
 
 	float procOffset = static_cast<float>(procFrames) / source->sampleRate();