diff --git a/server/polls/poll_handler.coffee b/server/polls/poll_handler.coffee
index 35cb657e0..2df6550fb 100644
--- a/server/polls/poll_handler.coffee
+++ b/server/polls/poll_handler.coffee
@@ -25,17 +25,23 @@ PollHandler = class PollHandler extends Handler
     super arguments...
 
   getNextPoll: (req, res, userPollsRecordID) ->
-    UserPollsRecord.findOne(_id: mongoose.Types.ObjectId(userPollsRecordID)).lean().exec (err, userPollsRecord) =>
-      return @sendDatabaseError(res, err) if err
-      answeredPolls = _.keys(userPollsRecord?.polls ? {})
-      if answeredPolls.length
-        query = {_id: {$nin: (mongoose.Types.ObjectId(pollID) for pollID in answeredPolls)}}
-      else
-        query = {}
-      Poll.findOne(query).sort('priority').exec (err, poll) =>
+    if userPollsRecordID and userPollsRecordID isnt '-'
+      UserPollsRecord.findOne(_id: mongoose.Types.ObjectId(userPollsRecordID)).lean().exec (err, userPollsRecord) =>
         return @sendDatabaseError(res, err) if err
-        return @sendNotFoundError(res) unless poll
-        @sendSuccess res, @formatEntity(req, poll)
+        answeredPolls = _.keys(userPollsRecord?.polls ? {})
+        @getNextUnansweredPoll req, res, answeredPolls
+    else
+      @getNextUnansweredPoll req, res, []
+
+  getNextUnansweredPoll: (req, res, answeredPolls) ->
+    if answeredPolls.length
+      query = {_id: {$nin: (mongoose.Types.ObjectId(pollID) for pollID in answeredPolls)}}
+    else
+      query = {}
+    Poll.findOne(query).sort('priority').exec (err, poll) =>
+      return @sendDatabaseError(res, err) if err
+      return @sendNotFoundError(res) unless poll
+      @sendSuccess res, @formatEntity(req, poll)
 
   delete: (req, res, slugOrID) ->
     return @sendForbiddenError res unless req.user?.isAdmin()