diff --git a/doc/build_draft.sh b/doc/build_draft.sh
index 276ef5abcd1cf29b4c9c6611ec82199358697350..cbf14a42e5c9bf3daa1a8317f1c4384b2195011b 100755
--- a/doc/build_draft.sh
+++ b/doc/build_draft.sh
@@ -45,5 +45,6 @@ echo '</artwork>' >> opus_compare_escaped.c
 echo '</figure>' >> opus_compare_escaped.c
 
 echo running xml2rfc
+xml2rfc draft-ietf-codec-opus.xml draft-ietf-codec-opus.html &
 xml2rfc draft-ietf-codec-opus.xml
-xml2rfc draft-ietf-codec-opus.xml draft-ietf-codec-opus.html
+wait
diff --git a/doc/draft-ietf-codec-opus.xml b/doc/draft-ietf-codec-opus.xml
index bcb81a32ffd25fcaa8079835d27cd8eeca31e704..f56bf5f161ce9f7f2ed0637145a1660847390f14 100644
--- a/doc/draft-ietf-codec-opus.xml
+++ b/doc/draft-ietf-codec-opus.xml
@@ -4291,16 +4291,27 @@ the value of the "spread" parameter in the bit-stream.
 The rotation angle is then calculated as
 <figure align="center">
 <artwork align="center"><![CDATA[
-        pi *  g_r^2
-theta = -----------
+                 2
+        pi *  g_r
+theta = ----------
             4
 ]]></artwork>
 </figure>
+A 2-D rotation R(i,j) between points x_i and x_j is defined as:
+<figure align="center">
+<artwork align="center"><![CDATA[
+x_i' =  cos(theta)*x_i + sin(theta)*x_j
+x_j' = -sin(theta)*x_i + cos(theta)*x_j
+]]></artwork>
+</figure>
 
+An N-D rotation is then achieved by applying a series of 2-D rotations back and forth, in the
+following order: R(x_1, x_2), R(x_2, x_3), ..., R(x_N-2, X_N-1), R(x_N-1, X_N),
+R(x_N-2, X_N-1), ..., R(x_1, x_2).
 </t>
 
 <t>
- If the decoded vector represents more
+If the decoded vector represents more
 than one time block, then the following process is applied separately on each time block.
 </t>
 </section>