=== modified file 'softwareproperties/gtk/SoftwarePropertiesGtk.py'
--- softwareproperties/gtk/SoftwarePropertiesGtk.py	2015-11-01 12:39:02 +0000
+++ softwareproperties/gtk/SoftwarePropertiesGtk.py	2016-02-16 17:38:09 +0000
@@ -338,8 +338,9 @@
             checkbox = Gtk.CheckButton(label="%s (%s)" % (template.description,
                                                           template.name))
             checkbox.template = template
+            handler = self.on_proposed_toggled if ("proposed" in template.name) else self.on_checkbutton_child_toggled
             self.handlers[checkbox] = checkbox.connect("toggled",
-                                                   self.on_checkbutton_child_toggled,
+                                                   handler,
                                                    template)
             self.vbox_updates.add(checkbox)
             checkbox.show()
@@ -570,6 +571,28 @@
             if e._dbus_error_name == 'com.ubuntu.SoftwareProperties.PermissionDeniedByPolicy':
                 logging.error("Authentication canceled, changes have not been saved")
 
+    def on_proposed_toggled(self, checkbutton, template):
+        """
+        Enabling a proposed source requires confirmation
+        """
+        # don't require confirmation to disable
+        if checkbutton.get_active() == False:
+            self.on_checkbutton_child_toggled(checkbutton, template)
+            return
+
+        dialog = Gtk.MessageDialog(self.window_main, 0, Gtk.MessageType.QUESTION, Gtk.ButtonsType.NONE, _("Are you sure you want to enable updates from proposed?"))
+        dialog.format_secondary_text(_("This repository is recommended only to those interested in helping to test updates and provide feedback.") )
+        dialog.add_buttons (Gtk.STOCK_CANCEL, Gtk.ResponseType.NO,
+                            _("Enable"), Gtk.ResponseType.YES)
+        res =  dialog.run()
+        if res == Gtk.ResponseType.YES:
+            self.on_checkbutton_child_toggled(checkbutton, template)
+        else:
+            self.block_handlers()
+            checkbutton.set_active(not checkbutton.get_active())
+            self.unblock_handlers()
+        dialog.destroy ()
+
     def on_checkbutton_source_code_toggled(self, checkbutton):
         """ Disable or enable the source code for all sources """
         try:

