 				}
 
 				let producer = original |> then(subsequent)
-
 				producer.start()
 				expect(subsequentStarted).to(beFalse())
+
 				sendCompleted(sink)
 				expect(subsequentStarted).to(beTrue())
 			}

			}

			it("should complete when both inputs have completed") {
				var originalSink: Signal<Int, NoError>.Observer!
				let original = SignalProducer<Int, NoError> { observer, _ in
					originalSink = observer
				}
				var subsequentSink: Signal<String, NoError>.Observer!
				let subsequent = SignalProducer<String, NoError> { observer, _ in
					subsequentSink = observer
				}

				let producer = original |> then(subsequent)



		describe("then") {
			it("should start the subsequent producer after the completion of the original") {
				let (original, sink) = SignalProducer<Int, NoError>.buffer()

				var subsequentStarted = false
				let subsequent = SignalProducer<Int, NoError> { observer, _ in
