diff --git a/av1/common/av1_rtcd_defs.pl b/av1/common/av1_rtcd_defs.pl
index e34b405..b408db3 100755
--- a/av1/common/av1_rtcd_defs.pl
+++ b/av1/common/av1_rtcd_defs.pl
@@ -70,10 +70,10 @@
 # Inverse dct
 #
 add_proto qw/void av1_iht4x4_16_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, const struct txfm_param *param";
-if (aom_config("CONFIG_HIGHBITDEPTH") eq "yes") {
-  specialize qw/av1_iht4x4_16_add sse2/;
-} else {
-  if (aom_config("CONFIG_DAALA_TX4") ne "yes") {
+if (aom_config("CONFIG_DAALA_TX4") ne "yes" && aom_config("CONFIG_LGT") ne "yes") {
+  if (aom_config("CONFIG_HIGHBITDEPTH") eq "yes") {
+    specialize qw/av1_iht4x4_16_add sse2/;
+  } else {
     specialize qw/av1_iht4x4_16_add sse2 neon/;
   }
 }
@@ -105,19 +105,20 @@
 add_proto qw/void av1_iht32x8_256_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, const struct txfm_param *param";
 
 add_proto qw/void av1_iht8x8_64_add/, "const tran_low_t *input, uint8_t *dest, int dest_stride, const struct txfm_param *param";
-if (aom_config("CONFIG_HIGHBITDEPTH") eq "yes") {
-  specialize qw/av1_iht8x8_64_add sse2/;
-} else {
-  if (aom_config("CONFIG_DAALA_TX8") ne "yes") {
+if (aom_config("CONFIG_DAALA_TX8") ne "yes" && aom_config("CONFIG_LGT") ne "yes") {
+  if (aom_config("CONFIG_HIGHBITDEPTH") eq "yes") {
+    specialize qw/av1_iht8x8_64_add sse2/;
+  } else {
     specialize qw/av1_iht8x8_64_add sse2 neon/;
   }
 }
 
 add_proto qw/void av1_iht16x16_256_add/, "const tran_low_t *input, uint8_t *output, int pitch, const struct txfm_param *param";
-if (aom_config("CONFIG_HIGHBITDEPTH") eq "yes") {
-  specialize qw/av1_iht16x16_256_add sse2 avx2/;
-} else {
-  if (aom_config("CONFIG_DAALA_TX16") ne "yes") {
+
+if (aom_config("CONFIG_DAALA_TX16") ne "yes" && aom_config("CONFIG_LGT") ne "yes") {
+  if (aom_config("CONFIG_HIGHBITDEPTH") eq "yes") {
+    specialize qw/av1_iht16x16_256_add sse2 avx2/;
+  } else {
     specialize qw/av1_iht16x16_256_add sse2 avx2/;
   }
 }
diff --git a/av1/common/idct.c b/av1/common/idct.c
index 38cdd22..2ca1785 100644
--- a/av1/common/idct.c
+++ b/av1/common/idct.c
@@ -2484,27 +2484,14 @@
 #endif
     case ADST_DCT:
     case DCT_ADST:
-    case ADST_ADST:
-#if CONFIG_LGT || CONFIG_DAALA_TX4
-      // LGT only exists in C verson
-      av1_iht4x4_16_add_c(input, dest, stride, txfm_param);
-      break;
-#else
-      av1_iht4x4_16_add(input, dest, stride, txfm_param);
-      break;
-#endif
+    case ADST_ADST: av1_iht4x4_16_add(input, dest, stride, txfm_param); break;
     case FLIPADST_DCT:
     case DCT_FLIPADST:
     case FLIPADST_FLIPADST:
     case ADST_FLIPADST:
     case FLIPADST_ADST:
-#if CONFIG_LGT || CONFIG_DAALA_TX4
-      av1_iht4x4_16_add_c(input, dest, stride, txfm_param);
-      break;
-#else
       av1_iht4x4_16_add(input, dest, stride, txfm_param);
       break;
-#endif
     case V_DCT:
     case H_DCT:
     case V_ADST:
@@ -2635,26 +2622,14 @@
 #endif
     case ADST_DCT:
     case DCT_ADST:
-    case ADST_ADST:
-#if CONFIG_LGT || CONFIG_DAALA_TX8
-      av1_iht8x8_64_add_c(input, dest, stride, txfm_param);
-      break;
-#else
-      av1_iht8x8_64_add(input, dest, stride, txfm_param);
-      break;
-#endif
+    case ADST_ADST: av1_iht8x8_64_add(input, dest, stride, txfm_param); break;
     case FLIPADST_DCT:
     case DCT_FLIPADST:
     case FLIPADST_FLIPADST:
     case ADST_FLIPADST:
     case FLIPADST_ADST:
-#if CONFIG_LGT || CONFIG_DAALA_TX8
-      av1_iht8x8_64_add_c(input, dest, stride, txfm_param);
-      break;
-#else
       av1_iht8x8_64_add(input, dest, stride, txfm_param);
       break;
-#endif
     case V_DCT:
     case H_DCT:
     case V_ADST:
@@ -2681,11 +2656,7 @@
     case ADST_DCT:
     case DCT_ADST:
     case ADST_ADST:
-#if CONFIG_DAALA_TX16
-      av1_iht16x16_256_add_c(input, dest, stride, txfm_param);
-#else
       av1_iht16x16_256_add(input, dest, stride, txfm_param);
-#endif  // CONFIG_DAALA_TX16
       break;
     case FLIPADST_DCT:
     case DCT_FLIPADST:
@@ -2698,11 +2669,7 @@
     case H_ADST:
     case V_FLIPADST:
     case H_FLIPADST:
-#if CONFIG_DAALA_TX16
-      av1_iht16x16_256_add_c(input, dest, stride, txfm_param);
-#else
       av1_iht16x16_256_add(input, dest, stride, txfm_param);
-#endif  // CONFIG_DAALA_TX16
       break;
     case IDTX: inv_idtx_add_c(input, dest, stride, 16, 16, tx_type); break;
 #if CONFIG_MRC_TX
diff --git a/test/av1_fht16x16_test.cc b/test/av1_fht16x16_test.cc
index fefdab9..60d32de 100644
--- a/test/av1_fht16x16_test.cc
+++ b/test/av1_fht16x16_test.cc
@@ -164,7 +164,7 @@
 
 using std::tr1::make_tuple;
 
-#if HAVE_SSE2 && !CONFIG_DAALA_TX16
+#if HAVE_SSE2 && !CONFIG_DAALA_TX16 && !CONFIG_LGT
 const Ht16x16Param kArrayHt16x16Param_sse2[] = {
   make_tuple(&av1_fht16x16_sse2, &av1_iht16x16_256_add_sse2, DCT_DCT,
              AOM_BITS_8, 256),
@@ -203,7 +203,7 @@
                         ::testing::ValuesIn(kArrayHt16x16Param_sse2));
 #endif  // HAVE_SSE2
 
-#if HAVE_AVX2 && !CONFIG_DAALA_TX16
+#if HAVE_AVX2 && !CONFIG_DAALA_TX16 && !CONFIG_LGT
 const Ht16x16Param kArrayHt16x16Param_avx2[] = {
   make_tuple(&av1_fht16x16_avx2, &av1_iht16x16_256_add_avx2, DCT_DCT,
              AOM_BITS_8, 256),
diff --git a/test/av1_fht4x4_test.cc b/test/av1_fht4x4_test.cc
index df7b03c..3e6847d 100644
--- a/test/av1_fht4x4_test.cc
+++ b/test/av1_fht4x4_test.cc
@@ -167,7 +167,7 @@
 
 using std::tr1::make_tuple;
 
-#if HAVE_SSE2 && !CONFIG_DAALA_TX4
+#if HAVE_SSE2 && !CONFIG_DAALA_TX4 && !CONFIG_LGT
 const Ht4x4Param kArrayHt4x4Param_sse2[] = {
   make_tuple(&av1_fht4x4_sse2, &av1_iht4x4_16_add_sse2, DCT_DCT, AOM_BITS_8,
              16),
diff --git a/test/av1_fht8x8_test.cc b/test/av1_fht8x8_test.cc
index 1bffe4e..325b1bb 100644
--- a/test/av1_fht8x8_test.cc
+++ b/test/av1_fht8x8_test.cc
@@ -167,7 +167,7 @@
 
 using std::tr1::make_tuple;
 
-#if HAVE_SSE2 && !CONFIG_DAALA_TX8
+#if HAVE_SSE2 && !CONFIG_DAALA_TX8 && !CONFIG_LGT
 const Ht8x8Param kArrayHt8x8Param_sse2[] = {
   make_tuple(&av1_fht8x8_sse2, &av1_iht8x8_64_add_sse2, DCT_DCT, AOM_BITS_8,
              64),
