diff --git a/xep-0389.xml b/xep-0389.xml
index a95c8ffa..6f9d81b0 100644
--- a/xep-0389.xml
+++ b/xep-0389.xml
@@ -31,6 +31,14 @@
Error out if a client selects an invalid flow
A client selects the registration or recovery feature for negotiation by
replying with an element of the same name and namespace.
@@ -384,6 +392,19 @@
+ If during stream initialization the client attempts to select a flow that + does not match one of the flows sent by the server, the server MUST + respond with an "undefined-condition" stream error containing an + "invalid-flow" application error qualified by the 'urn:xmpp:register:0' + namespace. +
+If the client is initiating registration or recovery after a stream has already been initiated it uses the same registration element wrapped in an @@ -396,7 +417,21 @@ ]]>
- The server then replies to the IQ or feature selection with a challenge. + If the client attempts to select a flow that does not match one of the + flows sent by the server in response to an IQ after stream initialization + the server MUST respond with a stanza error of type "item-not-found". +
++ If a valid flow is selected by the client the server then replies to the + IQ or feature selection with a challenge. If replying to an IQ, the challenge must be wrapped in an IQ of type "result". Challenges take the form of a <challenge/> element qualified by the