diff --git a/sourcing/edl.py b/sourcing/edl.py
index fe5dac7..23a13c2 100644
--- a/sourcing/edl.py
+++ b/sourcing/edl.py
@@ -73,9 +73,9 @@ def fulfil_edl_with_links(edl, doc_num='', links=None, hide_all_transclusions=Fa
     source_doc_links = defaultdict(list)
 
     for link_num, facets in two_facet_links:
-        for span in facets:
+        for facet_num, span in enumerate(facets):
             url, start, length = span
-            source_doc_links[url].append((start, length, link_num, 'link'))
+            source_doc_links[url].append((start, length, link_num, 'link', facet_num))
             if url in source_text:
                 continue
 
@@ -94,14 +94,14 @@ def fulfil_edl_with_links(edl, doc_num='', links=None, hide_all_transclusions=Fa
         span_text = source_text[url]  # [start:start + length]
         new_text = ''
         pos = start
-        for link_start, link_len, link_num, span_type in source_doc_links[url]:
+        for link_start, link_len, link_num, span_type, facet_num in source_doc_links[url]:
             link_end = link_start + link_len
             if link_start >= start + length:
                 break
             if link_end < start:
                 continue
             cls = 'xanadoclink link'
-            link_span = (f'<span class="{cls}" id="link{doc_num}_{link_num}">' +
+            link_span = (f'<span class="{cls}" id="link{facet_num}_{link_num}">' +
                          escape(span_text[link_start:link_end]) +
                          '</span>')
             new_text += escape(span_text[pos:link_start]) + link_span
@@ -112,34 +112,7 @@ def fulfil_edl_with_links(edl, doc_num='', links=None, hide_all_transclusions=Fa
 
     doc = ''.join(doc_spans)
 
-    for s in source:
-        text = protect_start_spaces(s.pop('text'))
-        if s['length'] > max_sourcedoc_size:
-            # print('{} > {}'.format(s['length'], max_sourcedoc_size))
-            continue
-        if s['url'] in hide_transclusions:
-            continue
-        source_spans = [(start, length, num, 'transclusion') for num, (url, start, length) in spans if url == s['url']]
-        source_spans += source_doc_links[s['url']]
-        source_spans.sort()
-
-        new_text = ''
-        pos = 0
-
-        for start, length, num, span_type in source_spans:
-            end = start + length
-            new_text += (escape(text[pos:start]) +
-                         span_html(span_type, num) +
-                         escape(text[start:end]) +
-                         '</span>')
-            pos = end
-        new_text += escape(text[pos:])
-        new_text = new_text.replace('\n', '<br/>\n')
-
-        s['text'] = new_text
-
     return {
-        'source': source,
         'doc': doc.replace('\n', '<br/>\n'),
         'span_count': len(spans),
         'link_count': len(two_facet_links),
diff --git a/sourcing/static/js/xanaflight.js b/sourcing/static/js/xanaflight.js
index 2991971..d8cec9d 100644
--- a/sourcing/static/js/xanaflight.js
+++ b/sourcing/static/js/xanaflight.js
@@ -37,7 +37,7 @@ function dragMoveListener (event) {
 
 function update() {
     for(var i = 0; i < link_bridge_count; i++) {
-        update_bridge('linkbridge' + i, 'link1_' + i, 'link2_' + i);
+        update_bridge('linkbridge' + i, 'link0_' + i, 'link1_' + i);
     }
 }
 
@@ -244,12 +244,12 @@ function hover_link_bridge(element, hover) {
 
     if (hover) {
         // $('#xanalink' + num).addClass(cls);
+        $('#link0_' + num).addClass(cls);
         $('#link1_' + num).addClass(cls);
-        $('#link2_' + num).addClass(cls);
     } else {
         // $('#xanalink' + num).removeClass(cls);
+        $('#link0_' + num).removeClass(cls);
         $('#link1_' + num).removeClass(cls);
-        $('#link2_' + num).removeClass(cls);
     }
 }