Index: /trunk/src/org/openstreetmap/josm/gui/io/UploadTextComponentValidator.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/io/UploadTextComponentValidator.java	(revision 16694)
+++ /trunk/src/org/openstreetmap/josm/gui/io/UploadTextComponentValidator.java	(revision 16695)
@@ -65,4 +65,8 @@
         @Override
         public void validate() {
+            if (!Config.getPref().getBoolean("message.upload_comment_is_empty_or_very_short", true)) {
+                feedbackDisabled();
+                return;
+            }
             String uploadComment = getComponent().getText();
             if (UploadDialog.UploadAction.isUploadCommentTooShort(uploadComment)) {
@@ -97,4 +101,8 @@
         @Override
         public void validate() {
+            if (!Config.getPref().getBoolean("message.upload_source_is_empty", true)) {
+                feedbackDisabled();
+                return;
+            }
             String uploadSource = getComponent().getText();
             if (Utils.isStripEmpty(uploadSource)) {
Index: /trunk/src/org/openstreetmap/josm/gui/widgets/AbstractTextComponentValidator.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/widgets/AbstractTextComponentValidator.java	(revision 16694)
+++ /trunk/src/org/openstreetmap/josm/gui/widgets/AbstractTextComponentValidator.java	(revision 16695)
@@ -89,5 +89,5 @@
         if (hasChanged(msg, Status.VALID)) {
             // only provide feedback if the validity has changed. This avoids unnecessary UI updates.
-            tc.setBorder(VALID_BORDER);
+            tc.setBorder(msg == null ? UIManager.getBorder("TextField.border") : VALID_BORDER);
             tc.setBackground(UIManager.getColor("TextField.background"));
             tc.setToolTipText(msg == null ? "" : msg);
