3456ca4713d75dc44e72e52a76261839fe6c36ef
diff --git a/lib/ephy-dialog.c b/lib/ephy-dialog.c
index b080ee1..3d2226d 100644
--- a/lib/ephy-dialog.c
+++ b/lib/ephy-dialog.c
@@ -146,15 +146,18 @@ set_sensitivity (PropertyInfo *info, gboolean sensitive)
 
 		for (l = list; l != NULL; l = l->next)
 		{
+			sensitive = gtk_widget_is_sensitive (GTK_WIDGET (l->data)) && sensitive;
 			gtk_widget_set_sensitive (GTK_WIDGET (l->data), sensitive);
 		}
 	}
 	else if (info->widget_type == PT_EDITABLE)
 	{
+		sensitive = gtk_widget_is_sensitive (info->widget) && sensitive;
 		gtk_editable_set_editable (GTK_EDITABLE (info->widget), sensitive);
 	}
 	else
 	{
+		sensitive = gtk_widget_is_sensitive (info->widget) && sensitive;
 		gtk_widget_set_sensitive (info->widget, sensitive);
 	}
 }
