Index: app/controllers/results_controller.rb
===================================================================
--- app/controllers/results_controller.rb	(revision 1028)
+++ app/controllers/results_controller.rb	(working copy)
@@ -69,8 +69,12 @@
     # If a grouping's submission's marking_status is complete, we're not going
     # to include them in the next_submission/prev_submission list
     
+    # If a grouping doesn't have a submission, and we are past the collection time, 
+    # we *DO* want to include them in the list.
+    collection_time = @assignment.submission_rule.calculate_collection_time.localtime
+    
     groupings.delete_if do |grouping|
-      grouping != @grouping && (!grouping.has_submission? || grouping.get_submission_used.result.marking_state == Result::MARKING_STATES[:complete])
+      grouping != @grouping && (grouping.marking_completed? || (!grouping.has_submission? && (Time.now < collection_time)))
     end
     
     # We sort by Group name by default
Index: app/models/grouping.rb
===================================================================
--- app/models/grouping.rb	(revision 1023)
+++ app/models/grouping.rb	(working copy)
@@ -160,7 +160,10 @@
     return @get_submission_used if !@get_submission_used.nil?
     @get_submission_used = submissions.find(:first, :conditions => {:submission_version_used => true})
   end
- 
+  
+  def marking_completed?
+    return has_submission? && get_submission_used.result.marking_state == Result::MARKING_STATES[:complete]
+  end
 
   # EDIT METHODS 
   # Removes the member by its membership id

