Index: /applications/editors/josm/plugins/livegps/src/livegps/LiveGpsSuppressor.java
===================================================================
--- /applications/editors/josm/plugins/livegps/src/livegps/LiveGpsSuppressor.java	(revision 19000)
+++ /applications/editors/josm/plugins/livegps/src/livegps/LiveGpsSuppressor.java	(revision 19001)
@@ -21,5 +21,5 @@
 	 * Default sleep time is 5 seconds.
 	 */
-	private static final int DEFAULT_SLEEP_TIME = 5000;
+	private static final int DEFAULT_SLEEP_TIME = 5;
 
 	/**
@@ -46,5 +46,7 @@
 
 		shutdownFlag = false;
-		while (!shutdownFlag) {
+		// stop the thread, when explicitely shut down or when disabled by
+		// config setting
+		while (!shutdownFlag && isEnabled()) {
 			setAllowUpdate(true);
 
@@ -92,10 +94,27 @@
 	public synchronized boolean isAllowUpdate() {
 
-		if (allowUpdate) {
-			allowUpdate = false;
+		// if disabled, always permit a re-draw.
+		if (!isEnabled()) {
 			return true;
 		} else {
-			return false;
+
+			if (allowUpdate) {
+				allowUpdate = false;
+				return true;
+			} else {
+				return false;
+			}
 		}
+	}
+
+	/**
+	 * A value below 1 disables this feature.
+	 * This ensures that a small value does not run this thread
+	 * in a tight loop.
+	 * 
+	 * @return true, if suppressing is enabled
+	 */
+	private boolean isEnabled() {
+		return this.sleepTime > 0;
 	}
 
