diff --git a/src/gpu/cl/operators/ClConv2d.cpp b/src/gpu/cl/operators/ClConv2d.cpp
index cd64c8d..8119fc8 100644
--- a/src/gpu/cl/operators/ClConv2d.cpp
+++ b/src/gpu/cl/operators/ClConv2d.cpp
@@ -273,11 +273,6 @@
                         {
                             return ConvolutionMethod::WINOGRAD;
                         }
-
-                        if(weights->dimension(idx_w) > 3 && weights->dimension(idx_h) > 3)
-                        {
-                            return ConvolutionMethod::WINOGRAD;
-                        }
                     }
                     else
                     {
@@ -306,11 +301,7 @@
                     {
                         if( ((is_large_kernel_sz || is_m_one) && workload_gte_8192) || is_ofm_lte_8 )
                         {
-                            // Do not use direct convolution when the kernel is large and the stride is unit
-                            if(!(is_large_kernel_sz && conv_info.stride().first == 1 && conv_info.stride().second == 1))
-                            {
-                                return ConvolutionMethod::DIRECT;
-                            }
+                            return ConvolutionMethod::DIRECT;
                         }
                     }
                 }
