diff --git a/lib/src/vector_math/quad.dart b/lib/src/vector_math/quad.dart
index 723e9f3..7d322ad 100644
--- a/lib/src/vector_math/quad.dart
+++ b/lib/src/vector_math/quad.dart
@@ -35,7 +35,7 @@
       : _point0 = Vector3.copy(other._point0),
         _point1 = Vector3.copy(other._point1),
         _point2 = Vector3.copy(other._point2),
-        _point3 = Vector3.copy(other._point2);
+        _point3 = Vector3.copy(other._point3);
 
   /// Create a quad by four points.
   Quad.points(Vector3 point0, Vector3 point1, Vector3 point2, Vector3 point3)
diff --git a/lib/src/vector_math_64/quad.dart b/lib/src/vector_math_64/quad.dart
index df160c4..3ef31ef 100644
--- a/lib/src/vector_math_64/quad.dart
+++ b/lib/src/vector_math_64/quad.dart
@@ -35,7 +35,7 @@
       : _point0 = Vector3.copy(other._point0),
         _point1 = Vector3.copy(other._point1),
         _point2 = Vector3.copy(other._point2),
-        _point3 = Vector3.copy(other._point2);
+        _point3 = Vector3.copy(other._point3);
 
   /// Create a quad by four points.
   Quad.points(Vector3 point0, Vector3 point1, Vector3 point2, Vector3 point3)
diff --git a/test/quad_test.dart b/test/quad_test.dart
index 4725230..051a48f 100644
--- a/test/quad_test.dart
+++ b/test/quad_test.dart
@@ -8,6 +8,17 @@
 
 import 'test_utils.dart';
 
+void testQuadCopy() {
+  final quad = Quad.points(Vector3(1.0, 0.0, 1.0), Vector3(0.0, 2.0, 1.0),
+      Vector3(1.0, 0.0, 0.0), Vector3(0.0, 2.0, 0.0));
+  final quadCopy = Quad.copy(quad);
+
+  relativeTest(quadCopy.point0, quad.point0);
+  relativeTest(quadCopy.point1, quad.point1);
+  relativeTest(quadCopy.point2, quad.point2);
+  relativeTest(quadCopy.point3, quad.point3);
+}
+
 void testQuadCopyNormalInto() {
   final quad = Quad.points(Vector3(1.0, 0.0, 1.0), Vector3(0.0, 2.0, 1.0),
       Vector3(1.0, 0.0, 0.0), Vector3(0.0, 2.0, 0.0));
@@ -39,6 +50,7 @@
 
 void main() {
   group('Quad', () {
+    test('Copy', testQuadCopy);
     test('CopyNormalInto', testQuadCopyNormalInto);
     test('CopyTriangles', testQuadCopyTriangles);
   });
