diff --git a/master/buildbot/status/web/templates/box_macros.html b/master/buildbot/status/web/templates/box_macros.html
index 849842f..2446f64 100644
--- a/master/buildbot/status/web/templates/box_macros.html
+++ b/master/buildbot/status/web/templates/box_macros.html
@@ -16,8 +16,11 @@
 
 {# this is currently just the text part of the boxes #}
 
-{% macro build_box(reason, url, number) -%}
+{% macro build_box(reason, url, number, ss) -%}
   <a title="Reason: {{ reason|e }}" href="{{ url }}">Build {{ number }}</a>
+  {%- if ss.revision %}
+    <br>{{ ss.revision|shortrev(ss.repository) }}
+  {%- endif %}
 {%- endmacro %}
 
 {% macro step_box(text, logs, urls) -%}
diff --git a/master/buildbot/status/web/waterfall.py b/master/buildbot/status/web/waterfall.py
index 0e898e3..6a2cc62 100644
--- a/master/buildbot/status/web/waterfall.py
+++ b/master/buildbot/status/web/waterfall.py
@@ -147,10 +147,11 @@ class BuildBox(components.Adapter):
     def getBox(self, req):
         b = self.original
         number = b.getNumber()
+        ss = b.getSourceStamp()
         url = path_to_build(req, b)
         reason = b.getReason()
         template = req.site.buildbot_service.templates.get_template("box_macros.html")
-        text = template.module.build_box(reason=reason,url=url,number=number)
+        text = template.module.build_box(reason=reason,url=url,number=number, ss=ss)
         class_ = "start"
         if b.isFinished() and not b.getSteps():
             # the steps have been pruned, so there won't be any indication
