diff --git a/test/language/subclassing/ArrayBuffer/regular-subclassing.js b/test/language/subclassing/ArrayBuffer/regular-subclassing.js
new file mode 100644
index 0000000000000000000000000000000000000000..9df654ce51536ead088ddc26f101ad95c5211fbf
--- /dev/null
+++ b/test/language/subclassing/ArrayBuffer/regular-subclassing.js
@@ -0,0 +1,31 @@
+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 24.1.2
+description: Subclassing the ArrayBuffer object
+info: >
+  24.1.2 The ArrayBuffer Constructor
+
+  ...
+
+  The ArrayBuffer constructor is designed to be subclassable. It may be used as
+  the value of an extends clause of a class definition. Subclass constructors
+  that intend to inherit the specified ArrayBuffer behaviour must include a
+  super call to the ArrayBuffer constructor to create and initialize subclass
+  instances with the internal state necessary to support the
+  ArrayBuffer.prototype built-in methods.
+---*/
+
+class AB extends ArrayBuffer {}
+
+var ab = new AB(4);
+
+var sliced = ab.slice(0, 1);
+
+assert(sliced instanceof AB);
+assert(sliced instanceof ArrayBuffer);
+assert.notSameValue(ab, sliced);
+
+assert.throws(RangeError, function() {
+  new AB();
+});
diff --git a/test/language/subclassing/ArrayBuffer/super-must-be-called.js b/test/language/subclassing/ArrayBuffer/super-must-be-called.js
new file mode 100644
index 0000000000000000000000000000000000000000..e58e694ba4051b463588a2280afc4194ace6c9c1
--- /dev/null
+++ b/test/language/subclassing/ArrayBuffer/super-must-be-called.js
@@ -0,0 +1,33 @@
+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 24.1.2
+description: Super need to be called to initialize internals
+info: >
+  24.1.2 The ArrayBuffer Constructor
+
+  ...
+
+  The ArrayBuffer constructor is designed to be subclassable. It may be used as
+  the value of an extends clause of a class definition. Subclass constructors
+  that intend to inherit the specified ArrayBuffer behaviour must include a
+  super call to the ArrayBuffer constructor to create and initialize subclass
+  instances with the internal state necessary to support the
+  ArrayBuffer.prototype built-in methods.
+---*/
+
+class AB1 extends ArrayBuffer {
+  constructor() {}
+}
+
+assert.throws(ReferenceError, function() {
+  new AB1(1);
+});
+
+class AB2 extends ArrayBuffer {
+  constructor(length) {
+    super(length);
+  }
+}
+
+new AB2(1);