diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js
index 2ff87100a..32c0330f5 100644
--- a/app/assets/javascripts/application.js
+++ b/app/assets/javascripts/application.js
@@ -60,6 +60,7 @@
//= require legislation_annotatable
//= require watch_form_changes
//= require followable
+//= require flagable
//= require documentable
//= require tree_navigator
//= require custom
diff --git a/app/assets/javascripts/flagable.js.coffee b/app/assets/javascripts/flagable.js.coffee
new file mode 100644
index 000000000..417acf1a7
--- /dev/null
+++ b/app/assets/javascripts/flagable.js.coffee
@@ -0,0 +1,4 @@
+App.Flagable =
+
+ update: (proposal_id, button) ->
+ $("#" + proposal_id + " .js-flag-actions-container").html(button).foundation()
diff --git a/app/views/proposals/_refresh_flag_actions.js.erb b/app/views/proposals/_refresh_flag_actions.js.erb
index 0e20636ae..8b563743b 100644
--- a/app/views/proposals/_refresh_flag_actions.js.erb
+++ b/app/views/proposals/_refresh_flag_actions.js.erb
@@ -1 +1,2 @@
-$("#<%= dom_id(@proposal) %> .js-flag-actions").html('<%= j render("proposals/flag_actions", proposal: @proposal) %>');
+App.Flagable.update("<%= dom_id(@proposal) %>",
+ "<%= j render("proposals/flag_actions", proposal: @proposal) %>")
diff --git a/app/views/proposals/show.html.erb b/app/views/proposals/show.html.erb
index 1dc918e8e..29e26efff 100644
--- a/app/views/proposals/show.html.erb
+++ b/app/views/proposals/show.html.erb
@@ -59,7 +59,9 @@
<% if current_user %>
•
- <%= render 'proposals/flag_actions', proposal: @proposal %>
+
+ <%= render 'proposals/flag_actions', proposal: @proposal %>
+
<% end %>