diff --git a/src/meson.build b/src/meson.build
index ddaf341..046117b 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -15,29 +15,19 @@
 
 # span-lite might not have a pkg-config. It is header only so just make
 # sure we can access the needed symbols from the header.
-span_dep = dependency('', required: false)
+span_dep = dependency('span-lite', required: false)
 has_span = meson.get_compiler('cpp').has_header_symbol(
-  'span',
-  'std::dynamic_extent',
+  'nonstd/span.hpp',
+  'nonstd::dynamic_extent',
   dependencies: span_dep,
   required: false)
 if not has_span
-  span_dep = dependency('span-lite', required: false)
-  has_span = meson.get_compiler('cpp').has_header_symbol(
-    'nonstd/span.hpp',
-    'nonstd::dynamic_extent',
-    dependencies: span_dep,
+  span_lite_proj = import('cmake').subproject(
+    'span-lite',
     required: false)
-  if not has_span
-    span_lite_proj = import('cmake').subproject(
-      'span-lite',
-      cmake_options: [
-      ],
-      required: false)
-    if span_lite_proj.found()
-      span_dep = span_lite_proj.dependency('span-lite')
-      has_span = true
-    endif
+  if span_lite_proj.found()
+    span_dep = span_lite_proj.dependency('span-lite')
+    has_span = true
   endif
 endif
 
diff --git a/src/stdplus/types.hpp b/src/stdplus/types.hpp
index 5ac3ed8..55d9735 100644
--- a/src/stdplus/types.hpp
+++ b/src/stdplus/types.hpp
@@ -1,8 +1,6 @@
 #pragma once
-#if defined(__cpp_lib_span) && __cpp_lib_span >= 202002L
-#include <span>
-#define STDPLUS_SPAN_TYPE std::span
-#elif __has_include(<nonstd/span.hpp>)
+#if __has_include(<nonstd/span.hpp>)
+#define span_CONFIG_SELECT_SPAN span_SPAN_NONSTD
 #include <nonstd/span.hpp>
 #define STDPLUS_SPAN_TYPE nonstd::span
 #endif
