diff --git a/av1/common/scan.c b/av1/common/scan.c
index c1d4f35..b86068d 100644
--- a/av1/common/scan.c
+++ b/av1/common/scan.c
@@ -1663,16 +1663,6 @@
   978,  979,  995,  996,  1008, 1009, 1017, 1018, 1022, 1023
 };
 
-const SCAN_ORDER av1_default_scan_orders[TX_SIZES] = {
-  { default_scan_4x4, av1_default_iscan_4x4 },
-  { default_scan_8x8, av1_default_iscan_8x8 },
-  { default_scan_16x16, av1_default_iscan_16x16 },
-  { default_scan_32x32, av1_default_iscan_32x32 },
-  // Half of the coefficients of tx64 at higher frequencies are set to
-  // zeros. So tx32's scan order is used.
-  { default_scan_32x32, av1_default_iscan_32x32 },
-};
-
 const SCAN_ORDER av1_scan_orders[TX_SIZES_ALL][TX_TYPES] = {
   {
       // TX_4X4
diff --git a/av1/common/scan.h b/av1/common/scan.h
index d9620e1..4f36978 100644
--- a/av1/common/scan.h
+++ b/av1/common/scan.h
@@ -34,7 +34,6 @@
   SCAN_MODES
 } UENUM1BYTE(SCAN_MODE);
 
-extern const SCAN_ORDER av1_default_scan_orders[TX_SIZES];
 extern const SCAN_ORDER av1_scan_orders[TX_SIZES_ALL][TX_TYPES];
 
 void av1_deliver_eob_threshold(const AV1_COMMON *cm, MACROBLOCKD *xd);
diff --git a/av1/encoder/nonrd_pickmode.c b/av1/encoder/nonrd_pickmode.c
index 3b42353..4d2e86d 100644
--- a/av1/encoder/nonrd_pickmode.c
+++ b/av1/encoder/nonrd_pickmode.c
@@ -864,7 +864,7 @@
   for (int r = 0; r < max_blocks_high; r += block_step) {
     for (int c = 0; c < num_4x4_w; c += block_step) {
       if (c < max_blocks_wide) {
-        const SCAN_ORDER *const scan_order = &av1_default_scan_orders[tx_size];
+        const SCAN_ORDER *const scan_order = &av1_scan_orders[tx_size][DCT_DCT];
         const int block_offset = BLOCK_OFFSET(block);
 #if CONFIG_AV1_HIGHBITDEPTH
         tran_low_t *const coeff = p->coeff + block_offset;
diff --git a/test/av1_quantize_test.cc b/test/av1_quantize_test.cc
index 020ae54..f0882c7 100644
--- a/test/av1_quantize_test.cc
+++ b/test/av1_quantize_test.cc
@@ -70,7 +70,7 @@
     QuantizeFpFunc quanFunc = params_.qFunc;
     QuantizeFpFunc quanFuncRef = params_.qFuncRef;
 
-    const SCAN_ORDER scanOrder = av1_default_scan_orders[txSize];
+    const SCAN_ORDER scanOrder = av1_scan_orders[txSize][DCT_DCT];
     for (int i = 0; i < numTests; i++) {
       int err_count = 0;
       ref_eob = eob = UINT16_MAX;
@@ -142,7 +142,7 @@
     int log_scale = (txSize == TX_32X32);
     QuantizeFpFunc quanFunc = params_.qFunc;
     QuantizeFpFunc quanFuncRef = params_.qFuncRef;
-    const SCAN_ORDER scanOrder = av1_default_scan_orders[txSize];
+    const SCAN_ORDER scanOrder = av1_scan_orders[txSize][DCT_DCT];
 
     for (int i = 0; i < numTests; i++) {
       ref_eob = eob = UINT16_MAX;
