diff --git a/reviewboard/reviews/detail.py b/reviewboard/reviews/detail.py
index 2bf8d913a7f5be8d3627ce720084d530a47f6f16..fe3e745954a76433d7cff56da9881c862db95e52 100644
--- a/reviewboard/reviews/detail.py
+++ b/reviewboard/reviews/detail.py
@@ -189,7 +189,7 @@ class ReviewRequestPageData(object):
 
         self.body_top_replies = defaultdict(list)
         self.body_bottom_replies = defaultdict(list)
-        self.latest_timestamps_by_review_id = defaultdict(lambda: 0)
+        self.latest_timestamps_by_review_id = {}
 
         for r in self.reviews:
             r._body_top_replies = []
@@ -205,9 +205,18 @@ class ReviewRequestPageData(object):
             parent_id = r.base_reply_to_id
 
             if parent_id is not None:
-                self.latest_timestamps_by_review_id[parent_id] = max(
-                    r.timestamp.replace(tzinfo=utc).ctime(),
-                    self.latest_timestamps_by_review_id[parent_id])
+                new_timestamp = r.timestamp.replace(tzinfo=utc)
+
+                if parent_id in self.latest_timestamps_by_review_id:
+                    old_timestamp = \
+                        self.latest_timestamps_by_review_id[parent_id]
+
+                    if old_timestamp < new_timestamp:
+                        self.latest_timestamps_by_review_id[parent_id] = \
+                            new_timestamp
+                else:
+                    self.latest_timestamps_by_review_id[parent_id] = \
+                        new_timestamp
 
         # Link up all the review body replies.
         for reply_id, replies in six.iteritems(self.body_top_replies):
diff --git a/reviewboard/reviews/views.py b/reviewboard/reviews/views.py
index 2422925542422d632948e31c5faa7652846f455b..93282ffbcadbc2dc8e913ea701c48004dd7858da 100644
--- a/reviewboard/reviews/views.py
+++ b/reviewboard/reviews/views.py
@@ -347,7 +347,7 @@ def review_detail(request,
             visited, visited_is_new = \
                 ReviewRequestVisit.objects.get_or_create(
                     user=request.user, review_request=review_request)
-            last_visited = visited.timestamp.replace(tzinfo=utc).ctime()
+            last_visited = visited.timestamp.replace(tzinfo=utc)
         except ReviewRequestVisit.DoesNotExist:
             # Somehow, this visit was seen as created but then not
             # accessible. We need to log this and then continue on.
