blocking subscriber cleanup
diff --git a/api.go b/api.go
index 57f9750..080abc9 100644
--- a/api.go
+++ b/api.go
@@ -59,11 +59,12 @@
 		case msg := <-incoming:
 			log.Debugf("Delivering new deployment %s to %d subscribers", msg, len(subscribers))
 			for subscriber := range subscribers {
+				delete(subscribers, subscriber) // all subscriptions are one-time notify
 				select {
 				case subscriber <- msg:
 					log.Debugf("Handling deploy response for: %s", msg)
 				default:
-					log.Error("listener too far behind, message dropped")
+					log.Debugf("listener too far behind, message dropped")
 				}
 			}
 		case subscriber := <-addSubscriber:
diff --git a/listener.go b/listener.go
index c1e1000..48cc4e4 100644
--- a/listener.go
+++ b/listener.go
@@ -99,8 +99,5 @@
 		return err
 	}
 
-	log.Debugf("Signaling new deployment ready: %s", deploymentID)
-	incoming <- deploymentID
-
 	return nil
 }