diff --git a/zzk/zzk.go b/zzk/zzk.go
index <HASH>..<HASH> 100644
--- a/zzk/zzk.go
+++ b/zzk/zzk.go
@@ -133,15 +133,19 @@ func Ready(shutdown <-chan interface{}, conn client.Connection, p string) error 
 	for {
 		if err := Ready(shutdown, conn, path.Dir(p)); err != nil {
 			return err
-		} else if exists, err := PathExists(conn, p); err != nil {
-			return err
-		} else if exists {
-			return nil
 		}
+
 		_, event, err := conn.ChildrenW(path.Dir(p))
 		if err != nil {
 			return err
 		}
+
+		if exists, err := PathExists(conn, p); err != nil {
+			return err
+		} else if exists {
+			return nil
+		}
+
 		select {
 		case <-event:
 			// pass
fixes CC-<I>: fix race condition for service rm