diff --git a/NEWS b/NEWS
index 493177025..e5cc2e540 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,8 @@ ver 0.19.10 (not yet released)
   - smbclient: fix DFF playback
 * encoder
   - opus: fix bogus granulepos
+* neighbor
+  - nfs: fix deadlock when connecting
 
 ver 0.19.9 (2015/02/06)
 * decoder
diff --git a/src/storage/plugins/NfsStorage.cxx b/src/storage/plugins/NfsStorage.cxx
index 324b40b6f..a1f079e2c 100644
--- a/src/storage/plugins/NfsStorage.cxx
+++ b/src/storage/plugins/NfsStorage.cxx
@@ -177,6 +177,8 @@ private:
 				mutex.unlock();
 				DeferredMonitor::Schedule();
 				mutex.lock();
+				if (state == State::INITIAL)
+					cond.wait(mutex);
 				break;
 
 			case State::CONNECTING:
@@ -188,8 +190,6 @@ private:
 				error.Set(last_error);
 				return false;
 			}
-
-			cond.wait(mutex);
 		}
 	}