diff --git a/problem_builder/table.py b/problem_builder/table.py
index 1bd49912..fbe135c7 100644
--- a/problem_builder/table.py
+++ b/problem_builder/table.py
@@ -113,7 +113,11 @@ def table_render(self, data, suffix=''):
for child_id in self.children:
child = self.runtime.get_block(child_id)
# Child should be an instance of MentoringTableColumn
- header_values.append(child.header)
+ header = child.header
+ # Make sure /jump_to_id/ URLs are expanded correctly
+ if getattr(self.runtime, 'replace_jump_to_id_urls', None):
+ header = self.runtime.replace_jump_to_id_urls(header)
+ header_values.append(header)
child_frag = child.render('mentoring_view', context)
content_values.append(child_frag.content)
context['header_values'] = header_values if any(header_values) else None
diff --git a/problem_builder/tests/integration/test_table.py b/problem_builder/tests/integration/test_table.py
index de70a164..34546adf 100644
--- a/problem_builder/tests/integration/test_table.py
+++ b/problem_builder/tests/integration/test_table.py
@@ -20,6 +20,8 @@
# Imports ###########################################################
+from mock import patch
+from workbench.runtime import WorkbenchRuntime
from .base_test import MentoringBaseTest
@@ -54,3 +56,16 @@ def test_mentoring_table(self):
self.assertEqual(len(rows), 2)
self.assertEqual(rows[0].text, 'This is the answer #1')
self.assertEqual(rows[1].text, 'This is the answer #2')
+
+ # Ensure that table block makes an effort to translate URLs in column headers
+ link_template = "{} in a column header."
+ original_contents = link_template.format('Link')
+ updated_contents = link_template.format('Updated link')
+
+ with patch.object(WorkbenchRuntime, 'replace_jump_to_id_urls', create=True) as patched_method:
+ patched_method.return_value = updated_contents
+
+ table = self.go_to_page('Table 3', css_selector='.mentoring-table')
+ patched_method.assert_called_once_with(original_contents)
+ link = table.find_element_by_css_selector('a')
+ self.assertEquals(link.text, 'Updated link')
diff --git a/problem_builder/tests/integration/xml/table_3.xml b/problem_builder/tests/integration/xml/table_3.xml
new file mode 100644
index 00000000..1983c1cb
--- /dev/null
+++ b/problem_builder/tests/integration/xml/table_3.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+