diff --git a/gtweak/tweaks/tweak_group_shell_extensions.py b/gtweak/tweaks/tweak_group_shell_extensions.py
index e33966f..dca76c4 100644
--- a/gtweak/tweaks/tweak_group_shell_extensions.py
+++ b/gtweak/tweaks/tweak_group_shell_extensions.py
@@ -52,6 +52,7 @@ class _ShellExtensionTweak(Gtk.ListBoxRow, Tweak):
         sw.set_active(self._shell.extension_is_active(state, uuid))
         sw.connect('notify::active', self._on_extension_toggled, uuid)
         self.hbox.pack_start(sw, False, False, 0)
+        self.switch = sw
                         
         vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
         lbl_name = Gtk.Label(xalign=0.0)
@@ -102,6 +103,13 @@ class _ShellExtensionTweak(Gtk.ListBoxRow, Tweak):
                 btn.connect("clicked", self._on_configure_clicked, uuid)
                 self.hbox.pack_start(btn, False, False, 0)
 
+        btn = Gtk.Button.new_from_icon_name("emblem-synchronizing-symbolic", Gtk.IconSize.BUTTON)
+        btn.props.valign = Gtk.Align.CENTER
+        btn.connect("clicked", self._on_reload_clicked, uuid)
+        btn.set_sensitive(sw.get_active());
+        self.hbox.pack_start(btn, False, False, 0)
+        self.reloadButton = btn
+
         btn = Gtk.Button(label=_("Remove"))
         btn.props.vexpand = False
         btn.props.valign = Gtk.Align.CENTER
@@ -122,6 +130,13 @@ class _ShellExtensionTweak(Gtk.ListBoxRow, Tweak):
     def _on_disable_extension(self, de, sw):
         sw.set_active(False)
 
+    def _on_reload_clicked(self, btn, uuid):
+        stdout, stderr, returncode = execute_subprocess(["gnome-shell-extension-tool", "-r", uuid], block=True)
+        if returncode > 0:
+            execute_subprocess(["notify-send", _("Error reloading"), uuid], block=False)
+        else:
+            execute_subprocess(["notify-send", _("Reloading"), uuid], block=False)
+
     def _on_configure_clicked(self, btn, uuid):
         execute_subprocess(['gnome-shell-extension-prefs', uuid], block=False)
 
@@ -130,6 +145,7 @@ class _ShellExtensionTweak(Gtk.ListBoxRow, Tweak):
             self._shell.disable_extension(uuid)
         else:
             self._shell.enable_extension(uuid)
+        self.reloadButton.set_sensitive(self.switch.get_active());
 
     def _on_extension_delete(self, btn, uuid, name):
         path = os.path.join(self._shell.EXTENSION_DIR, uuid)
