diff --git a/reviewboard/htdocs/media/rb/css/reviews.css b/reviewboard/htdocs/media/rb/css/reviews.css
--- a/reviewboard/htdocs/media/rb/css/reviews.css
+++ b/reviewboard/htdocs/media/rb/css/reviews.css
@@ -19,7 +19,6 @@
   background-image: url('../images/review_request_box_bottom_bg.png');
 }
 
-
 /****************************************************************************
  * Review Request Box
  ****************************************************************************/
@@ -858,6 +857,9 @@
   z-index: 1000;
 }
 
+#review-progress-banner .banner {
+  background: #FFFFAA;
+}
 
 /****************************************************************************
  * Tooltips
diff --git a/reviewboard/htdocs/media/rb/js/datastore.js b/reviewboard/htdocs/media/rb/js/datastore.js
--- a/reviewboard/htdocs/media/rb/js/datastore.js
+++ b/reviewboard/htdocs/media/rb/js/datastore.js
@@ -418,7 +418,6 @@ $.extend(RB.Review.prototype, {
             success: options.success
         });
     },
-
     _apiCall: function(options) {
         var self = this;
 
diff --git a/reviewboard/htdocs/media/rb/js/reviews.js b/reviewboard/htdocs/media/rb/js/reviews.js
--- a/reviewboard/htdocs/media/rb/js/reviews.js
+++ b/reviewboard/htdocs/media/rb/js/reviews.js
@@ -813,7 +813,8 @@ $.reviewForm = function(review) {
                         .val("Discard Review")
                         .click(function(e) {
                             review.deleteReview({
-                                buttons: buttons
+                                buttons: buttons,
+                                success: $.funcQueue("reviewForm").next
                             });
                         }),
                     $('<input type="button"/>')
diff --git a/reviewboard/reviews/managers.py b/reviewboard/reviews/managers.py
--- a/reviewboard/reviews/managers.py
+++ b/reviewboard/reviews/managers.py
@@ -169,7 +169,6 @@ class ReviewManager(ConcurrencyManager):
         query = query.order_by("timestamp")
 
         reviews = list(query)
-
         if len(reviews) == 0:
             return None
         elif len(reviews) == 1:
@@ -211,3 +210,11 @@ class ReviewManager(ConcurrencyManager):
             review.delete()
 
         return master_review
+    
+    def get_all_pending_review(self, review_request):
+        """Gets pending reviews from all the users, order by user"""
+        query = self.filter(review_request=review_request,
+                            public=False,
+                            base_reply_to__isnull=True)
+        
+        return query.order_by("user")
diff --git a/reviewboard/reviews/models.py b/reviewboard/reviews/models.py
--- a/reviewboard/reviews/models.py
+++ b/reviewboard/reviews/models.py
@@ -249,12 +249,10 @@ class ReviewRequest(models.Model):
                                                  blank=True)
     shipit_count = models.IntegerField(_("ship-it count"), default=0,
                                        null=True)
-
-
+    
     # Set this up with the ReviewRequestManager
     objects = ReviewRequestManager()
 
-
     def get_bug_list(self):
         """
         Returns a sorted list of bugs associated with this review request.
@@ -383,6 +381,12 @@ class ReviewRequest(models.Model):
         """
         return Review.objects.get_pending_review(self, user)
 
+    def get_all_pending_review(self):
+        """
+        Returns all the pending review owned by any user
+        """
+        return Review.objects.get_all_pending_review(self)
+    
     def get_last_activity(self):
         """Returns the last public activity information on the review request.
 
diff --git a/reviewboard/reviews/views.py b/reviewboard/reviews/views.py
--- a/reviewboard/reviews/views.py
+++ b/reviewboard/reviews/views.py
@@ -106,12 +106,15 @@ def review_detail(request, review_request_id,
     """
     review_request = get_object_or_404(ReviewRequest, pk=review_request_id)
 
+    all_pending_reviews = None
     reviews = review_request.get_public_reviews()
     review = review_request.get_pending_review(request.user)
-
     if request.user.is_authenticated():
         # If the review request is public and pending review and if the user
         # is logged in, mark that they've visited this review request.
+        all_pending_reviews = \
+            review_request.get_all_pending_review().exclude(user=request.user)
+            
         if review_request.public and review_request.status == "P":
             visited, visited_is_new = ReviewRequestVisit.objects.get_or_create(
                 user=request.user, review_request=review_request)
@@ -216,7 +219,6 @@ def review_detail(request, review_request_id,
         })
 
     entries.sort(key=lambda item: item['timestamp'])
-
     response = render_to_response(template_name, RequestContext(request, {
         'draft': draft,
         'review_request': review_request,
@@ -229,6 +231,7 @@ def review_detail(request, review_request_id,
         'upload_screenshot_form': UploadScreenshotForm(),
         'scmtool': repository.get_scmtool(),
         'PRE_CREATION': PRE_CREATION,
+        'all_pending_reviews': all_pending_reviews,
     }))
     set_etag(response, etag)
 
@@ -404,6 +407,7 @@ def diff(request, review_request_id, revision=None, interdiff_revision=None,
     review_request = get_object_or_404(ReviewRequest, pk=review_request_id)
     diffset = _query_for_diff(review_request, request.user, revision)
 
+    all_pending_reviews = None
     interdiffset = None
     interdiffset_id = None
     review = None
@@ -421,6 +425,10 @@ def diff(request, review_request_id, revision=None, interdiff_revision=None,
     review = review_request.get_pending_review(request.user)
     draft = review_request.get_draft(request.user)
 
+    if request.user.is_authenticated():
+        all_pending_reviews = \
+            review_request.get_all_pending_review().exclude(user=request.user)
+
     repository = review_request.repository
 
     has_draft_diff = draft and draft.diffset
@@ -446,6 +454,7 @@ def diff(request, review_request_id, revision=None, interdiff_revision=None,
         'upload_screenshot_form': UploadScreenshotForm(),
         'scmtool': repository.get_scmtool(),
         'last_activity_time': last_activity_time,
+        'all_pending_reviews': all_pending_reviews,
         'specific_diff_requested': revision is not None or
                                    interdiff_revision is not None,
     }, template_name)
diff --git a/reviewboard/templates/reviews/review_detail.html b/reviewboard/templates/reviews/review_detail.html
--- a/reviewboard/templates/reviews/review_detail.html
+++ b/reviewboard/templates/reviews/review_detail.html
@@ -31,6 +31,7 @@
 {% endblock %}
 
 {% block content %}
+
 {% include "reviews/trophy_box.html" %}
 {% include "reviews/review_header.html" %}
 
diff --git a/reviewboard/templates/reviews/review_header.html b/reviewboard/templates/reviews/review_header.html
--- a/reviewboard/templates/reviews/review_header.html
+++ b/reviewboard/templates/reviews/review_header.html
@@ -1,6 +1,18 @@
 {% load i18n %}
 {% load djblets_utils %}
 
+<div id="review-progress-banner"{% if not all_pending_reviews %} style="display: none;"{% endif %}>
+ <div class="banner">
+  <h1>{% trans "Review is in progress by: " %}
+  {% for review in all_pending_reviews %}
+  		{% if forloop.first %}{{ review.user|user_displayname }}
+  		{% else %}, {{ review.user|user_displayname }}
+  		{% endif %}
+  {% endfor %}
+  </h1>
+ </div>
+</div>
+
 {% ifequal review_request.status 'S' %}
 <div class="banner" id="submitted-banner">
  <h1>{% trans "This change has been marked as submitted." %}</h1>
diff --git a/reviewboard/templates/reviews/reviewable_base.html b/reviewboard/templates/reviews/reviewable_base.html
--- a/reviewboard/templates/reviews/reviewable_base.html
+++ b/reviewboard/templates/reviews/reviewable_base.html
@@ -1,4 +1,5 @@
 {% extends "base.html" %}
+{% load djblets_utils %}
 {% load i18n %}
 
 {% block ie6_csshacks %}
diff --git a/reviewboard/webapi/json.py b/reviewboard/webapi/json.py
--- a/reviewboard/webapi/json.py
+++ b/reviewboard/webapi/json.py
@@ -1047,7 +1047,7 @@ def review_draft_save(request, review_request_id, publish=False):
 def review_draft_delete(request, review_request_id):
     review_request = get_object_or_404(ReviewRequest, pk=review_request_id)
     review = review_request.get_pending_review(request.user)
-
+    
     if review:
         review.delete()
         return WebAPIResponse(request)
