diff --git a/lib/rtsp-methods.js b/lib/rtsp-methods.js
index <HASH>..<HASH> 100644
--- a/lib/rtsp-methods.js
+++ b/lib/rtsp-methods.js
@@ -89,7 +89,7 @@ exports.setup = function (req, res) {
     return
   }
 
-  var session = sessions.get(req, true)
+  var session = sessions.get(req)
   var conf = session.uris[req.uri]
 
   var cookie = new Buffer(24)
diff --git a/lib/sessions.js b/lib/sessions.js
index <HASH>..<HASH> 100644
--- a/lib/sessions.js
+++ b/lib/sessions.js
@@ -18,12 +18,11 @@ emitter.uri = function (uri, val) {
   return uris[uri]
 }
 
-emitter.get = function (req, init) {
+emitter.get = function (req) {
   var uri = req.uri
-  var id = req.headers['session'] || init && uuid.v4()
+  var id = req.headers['session'] || uuid.v4()
   var session = pool[id]
   if (!session) {
-    if (!init) throw new Error('Unknown session') // TODO: There must be a better way to handle this
     debug('creating new session', id)
     pool[id] = session = new Session(id)
     this.emit('new', session)
Gracefully handle if Session header is missing

iOS will in some (all?) cases not send the session id to the server