diff --git a/app/soc/modules/gsoc/views/slot_allocation.py b/app/soc/modules/gsoc/views/slot_allocation.py
index 94157ab..36ee2a0 100644
--- a/app/soc/modules/gsoc/views/slot_allocation.py
+++ b/app/soc/modules/gsoc/views/slot_allocation.py
@@ -65,8 +65,7 @@
         timeline = db.get(entities[0].program.to_old_key()).timeline
         for entity in entities:
           used_slots = proposal_logic.getUsedSlots(entity.key, timeline)
-          org_slots_unused[entity.key] = max(
-              entity.slot_allocation - used_slots, 0)
+          org_slots_unused[entity.key] = entity.slot_allocation - used_slots
 
       return ([org_slots_unused], {})
 
@@ -99,10 +98,15 @@
     list_config.setColumnEditable('slot_allocation', True)
     list_config.setColumnSummary('slot_allocation', 'sum', '<b>Total: {0}</b>')
 
-    list_config.addHtmlColumn(
-        'slots_unused', 'Unused slots',
-        lambda ent, s, *args: ('<strong><font color="red">%s</font></strong>'
-            % (s[ent.key])))
+    def getUnusedSlots(entity, cached_data, *args):
+      """Helper function to get value for 'Unused slots' column."""
+      unused_slots = cached_data[entity.key]
+      return (
+          str(unused_slots)
+          if unused_slots == 0
+          else '<strong><font color="red">%s</font></strong>' % unused_slots)
+
+    list_config.addHtmlColumn('slots_unused', 'Unused slots', getUnusedSlots)
 
     # TODO(daniel): add note to organization model?
     #list_config.addSimpleColumn('note', 'Note')
