- value = gtk_spin_button_get_value (GTK_SPIN_BUTTON (spinbutton));
- mc_account_set_param_int (settings->account, "port", (gint) value);
+ if (value != 0) {
+ empathy_debug (DEBUG_DOMAIN, "Setting %s to %d", param, (gint) value);
+ mc_account_set_param_int (settings->account, param, (gint) value);
+ } else {
+ gint val;
+
+ mc_account_unset_param (settings->account, param);
+ mc_account_get_param_int (settings->account, param, &val);
+ empathy_debug (DEBUG_DOMAIN, "Unset %s and restore to %d", param, val);
+
+ gtk_spin_button_set_value (GTK_SPIN_BUTTON (spinbutton), val);