Index: applications/editors/josm/plugins/validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java
===================================================================
--- applications/editors/josm/plugins/validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java	(revision 9894)
+++ applications/editors/josm/plugins/validator/src/org/openstreetmap/josm/plugins/validator/tests/TagChecker.java	(revision 9909)
@@ -5,4 +5,5 @@
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+import java.awt.Dimension;
 import java.awt.GridBagLayout;
 import java.io.BufferedReader;
@@ -176,9 +177,18 @@
 		for(String source: sources.split(";"))
 		{
-			File sourceFile = Util.mirror(new URL(source), Util.getPluginDir(), -1);
+			File sourceFile = null;
+			try
+			{
+				sourceFile = Util.mirror(new URL(source), Util.getPluginDir(), -1);
+			}
+			catch(java.net.MalformedURLException e) {}
 			if( sourceFile == null || !sourceFile.exists() )
 			{
-				errorSources += source + "\n";
-				continue;
+				sourceFile = new File(source);
+				if( sourceFile == null || !sourceFile.exists() )
+				{
+					errorSources += source + "\n";
+					continue;
+				}
 			}
 
@@ -465,6 +475,9 @@
 
 		String sources = Main.pref.get( PREF_SOURCES );
-		for(String source : sources.split(";"))
-			((DefaultListModel)Sources.getModel()).addElement(source);
+		if(sources != null && sources.length() > 0)
+		{
+			for(String source : sources.split(";"))
+				((DefaultListModel)Sources.getModel()).addElement(source);
+		}
 
 		addSrcButton = new JButton(tr("Add"));
@@ -519,4 +532,5 @@
 			}
 		});
+		Sources.setMinimumSize(new Dimension(300,50));
 		Sources.setVisibleRowCount(3);
 
Index: applications/editors/josm/plugins/validator/tagchecker.cfg
===================================================================
--- applications/editors/josm/plugins/validator/tagchecker.cfg	(revision 9894)
+++ applications/editors/josm/plugins/validator/tagchecker.cfg	(revision 9909)
@@ -46,2 +46,12 @@
 way  : I : highway == tertiary && ref != *                     # highway without a reference
 *    : W : / *name */i == * && name != *                       # misspelled key name
+
+way  : W : highway == cycleway && bicycle == *                 # cycleway with tag bicycle
+way  : W : highway == footway && foot == *                     # footway with tag foot
+way  : W : highway == cycleway && cycleway == lane             # seperate cycleway as lane on a cycleway
+way  : W : highway == * && barrier == *                        # barrier used on a way
+
+way  : I : waterway == * && layer != *                         # waterway without layer tag
+way  : I : highway == footway && maxspeed == *                 # maxspeed used for footway
+
+*    : W : layer == /\+.*/                                     # layer tag with + sign
