diff --git a/test/built-ins/TypedArrays/buffer-arg-detached.js b/test/built-ins/TypedArrays/buffer-arg-detached.js
new file mode 100644
index 0000000000000000000000000000000000000000..9e112d0bcacae2f0f69c6f09be66c8c20a338a00
--- /dev/null
+++ b/test/built-ins/TypedArrays/buffer-arg-detached.js
@@ -0,0 +1,20 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-typedarray-buffer-byteoffset-length
+description: If TypedArray() is passed a detached buffer, throw
+info: >
+  22.2.4.5 TypedArray ( buffer [ , byteOffset [ , length ] ] )
+
+  ...
+  8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+  ...
+includes: [testTypedArray.js, detachArrayBuffer.js]
+---*/
+
+testWithTypedArrayConstructors(function(TA) {
+  var offset = TA.BYTES_PER_ELEMENT;
+  var buffer = new ArrayBuffer(3 * offset);
+  $DETACHBUFFER(buffer);
+  assert.throws(TypeError, () => new TA(buffer));
+});
diff --git a/test/built-ins/TypedArrays/byteoffset-arg-detachbuffer.js b/test/built-ins/TypedArrays/byteoffset-arg-detachbuffer.js
new file mode 100644
index 0000000000000000000000000000000000000000..5f3406ce1cb4e79c65432c90965104637aebe0ea
--- /dev/null
+++ b/test/built-ins/TypedArrays/byteoffset-arg-detachbuffer.js
@@ -0,0 +1,20 @@
+// Copyright (C) 2017 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-typedarray-buffer-byteoffset-length
+description: If TypedArray() is passed a detached buffer, throw
+info: >
+  22.2.4.5 TypedArray ( buffer [ , byteOffset [ , length ] ] )
+
+  ...
+  8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+  ...
+includes: [testTypedArray.js, detachArrayBuffer.js]
+---*/
+
+testWithTypedArrayConstructors(function(TA) {
+  var offset = TA.BYTES_PER_ELEMENT;
+  var buffer = new ArrayBuffer(3 * offset);
+  var byteOffset = { valueOf() { $DETACHBUFFER(buffer); return 1; } };
+  assert.throws(TypeError, () => new TA(buffer, byteOffset));
+});