diff --git a/app/helpers/digest_helper.rb b/app/helpers/digest_helper.rb
new file mode 100644
index 0000000000000000000000000000000000000000..2474d26657d5d093192bd75309490c62e29f7345
--- /dev/null
+++ b/app/helpers/digest_helper.rb
@@ -0,0 +1,8 @@
+# Helper for the digest/markdown views
+module DigestHelper
+  # Important mechanism, to ensure the digest will not have the same footnote
+  # link multiple times
+  def renumber_footnotes(id, description)
+    description.gsub(/\[(\d)*\]/, "[#{id}_\\1]")
+  end
+end
diff --git a/app/helpers/events_helper.rb b/app/helpers/events_helper.rb
index 9f1bed9da167b4a69e2b7cf632a06dcb263bd59e..390634516bc496acdd8e987536a98876e7b2507c 100644
--- a/app/helpers/events_helper.rb
+++ b/app/helpers/events_helper.rb
@@ -56,6 +56,8 @@ module EventsHelper
     item.class.human_attribute_name(label).rjust(12) + " #{value}"
   end
 
+  # Using kramdown, let's parse the html and render it as markdown text
+  # No idea why, but also needs to remove extraneous quote encoding :(
   def to_markdown(description, line_width = -1)
     desc = sanitize description,
                     tags: %w[p br h1 h2 h3 h4 table tr th td ul ol li a strong
@@ -64,8 +66,9 @@ module EventsHelper
     result = Kramdown::Document.new(desc, input: :html, line_width: line_width)
                                .to_kramdown
     # Remove extraneous line feeds
+    return if result.nil? || result.blank?
     result.gsub(/\n\n+/, '
 
-').tr('\\', '').html_safe
+').gsub(/(\w)\\'/, '\1\'')
   end
 end
diff --git a/app/views/digests/markdown.html.haml b/app/views/digests/markdown.html.haml
index e02e9c29134c27b0184c004666c5cc5cedceb693..6d188894e5af834c2cbb8a8252996c199ddf84e8 100644
--- a/app/views/digests/markdown.html.haml
+++ b/app/views/digests/markdown.html.haml
@@ -8,7 +8,7 @@
   - @events.sort_by(&:start_time).each do |event|
     [#{event.region.region.try(:code) || event.region.try(:code)} #{event.city}] [#{event.title}](#{event_url event}) - #{display_date event}
     \-----
-    = to_markdown event.description, -1
+    = renumber_footnotes event.id, to_markdown(event.description)
     \
     * #{[event.place_name, event.full_address].compact.join ', '}
     - if event.url.present?
diff --git a/app/views/events/show.text.haml b/app/views/events/show.text.haml
index 02d2326da3d84a82458cf94da333e9c57dcc23a8..04642ea907213da82c2cd4066ea800f5b9e7362e 100644
--- a/app/views/events/show.text.haml
+++ b/app/views/events/show.text.haml
@@ -15,5 +15,5 @@
   = display_attr @event, :repeat
   = display_attr @event, :rule, t(@event.rule, scope: 'activerecord.attributes.event.rule_values')
 \
-= to_markdown @event.description, 78
+= raw to_markdown @event.description, 78
 ==============================================================================