diff --git a/briar-android/src/org/briarproject/android/groups/ConfigureGroupActivity.java b/briar-android/src/org/briarproject/android/groups/ConfigureGroupActivity.java
index fff9bc5f96bdbc7e4c6471c960d9515407b92be3..7314ef7bbe8c9fbec240d55abfe81224def33555 100644
--- a/briar-android/src/org/briarproject/android/groups/ConfigureGroupActivity.java
+++ b/briar-android/src/org/briarproject/android/groups/ConfigureGroupActivity.java
@@ -50,6 +50,7 @@ SelectContactsDialog.Listener {
 	private RadioButton visibleToAll = null, visibleToSome = null;
 	private Button doneButton = null;
 	private ProgressBar progress = null;
+	private boolean changed = false;
 
 	// Fields that are accessed from background threads must be volatile
 	@Inject private volatile DatabaseComponent db;
@@ -128,20 +129,28 @@ SelectContactsDialog.Listener {
 
 	public void onClick(View view) {
 		if(view == subscribeCheckBox) {
+			changed = true;
 			boolean subscribe = subscribeCheckBox.isChecked();
 			visibleToAll.setEnabled(subscribe);
 			visibleToSome.setEnabled(subscribe);
+		} else if(view == visibleToAll) {
+			changed = true;
 		} else if(view == visibleToSome) {
+			changed = true;
 			if(contacts == null) loadContacts();
 			else displayContacts();
 		} else if(view == doneButton) {
-			boolean subscribe = subscribeCheckBox.isChecked();
-			boolean all = visibleToAll.isChecked();
-			// Replace the button with a progress bar
-			doneButton.setVisibility(GONE);
-			progress.setVisibility(VISIBLE);
-			// Update the blog in a background thread
-			if(subscribe || subscribed) updateGroup(subscribe, all);
+			if(changed) {
+				boolean subscribe = subscribeCheckBox.isChecked();
+				boolean all = visibleToAll.isChecked();
+				// Replace the button with a progress bar
+				doneButton.setVisibility(GONE);
+				progress.setVisibility(VISIBLE);
+				// Update the blog in a background thread
+				if(subscribe || subscribed) updateGroup(subscribe, all);
+			} else {
+				finish();
+			}
 		}
 	}