diff --git a/spec.html b/spec.html
index 0db311e..157fca4 100644
--- a/spec.html
+++ b/spec.html
@@ -533,7 +533,9 @@
%Iterator.prototype%.filter ( _filterer_ )
%Iterator.prototype%.take ( _limit_ )
1. Let _iterated_ be ? GetIteratorDirect(*this* value).
- 1. Let _integerLimit_ be ? ToIntegerOrInfinity(_limit_).
+ 1. Let _numLimit_ be ? ToNumber(_limit_).
+ 1. If _numLimit_ is *NaN*, throw a *RangeError* exception.
+ 1. Let _integerLimit_ be ! ToIntegerOrInfinity(_numLimit_).
1. If _integerLimit_ < 0, throw a *RangeError* exception.
1. Let _closure_ be a new Abstract Closure with no parameters that captures _iterated_ and _integerLimit_ and performs the following steps when called:
1. Let _remaining_ be _integerLimit_.
@@ -555,7 +557,9 @@ %Iterator.prototype%.take ( _limit_ )
%Iterator.prototype%.drop ( _limit_ )
1. Let _iterated_ be ? GetIteratorDirect(*this* value).
- 1. Let _integerLimit_ be ? ToIntegerOrInfinity(_limit_).
+ 1. Let _numLimit_ be ? ToNumber(_limit_).
+ 1. If _numLimit_ is *NaN*, throw a *RangeError* exception.
+ 1. Let _integerLimit_ be ! ToIntegerOrInfinity(_numLimit_).
1. If _integerLimit_ < 0, throw a *RangeError* exception.
1. Let _closure_ be a new Abstract Closure with no parameters that captures _iterated_ and _integerLimit_ and performs the following steps when called:
1. Let _remaining_ be _integerLimit_.