diff --git a/lingua_franca/lang/parse_en.py b/lingua_franca/lang/parse_en.py
index 872c478..2136423 100644
--- a/lingua_franca/lang/parse_en.py
+++ b/lingua_franca/lang/parse_en.py
@@ -1363,7 +1363,7 @@ def extract_datetime_en(string, dateNow, default_time):
             idx += used - 1
             found = True
     # check that we found a date
-    if not date_found:
+    if not date_found():
         return None
 
     if dayOffset is False:

extract_datetime(" ") returns today not None
Clearly this is my favourite method looking at the issues list :yum: 

An empty string passed to `extract_datetime("")` correctly returns `None`.
However a non-empty string that does not contain a date eg `extract_datetime(" ")` returns a datetime of the current day at midnight.

Documentation for the method:
https://mycroft-core.readthedocs.io/en/stable/source/mycroft.util.html#extract-datetime
diff --git a/test/test_parse.py b/test/test_parse.py
index a6533cf..c1510d9 100644
--- a/test/test_parse.py
+++ b/test/test_parse.py
@@ -481,6 +481,10 @@ class TestNormalize(unittest.TestCase):
         morning = datetime(2017, 6, 27, 8, 1, 2)
         evening = datetime(2017, 6, 27, 20, 1, 2)
         noonish = datetime(2017, 6, 27, 12, 1, 2)
+        self.assertEqual(
+            extract_datetime('feed the fish'), None)
+        self.assertEqual(
+            extract_datetime(' '), None)
         self.assertEqual(
             extract_datetime('feed fish at 10 o\'clock', morning)[0],
             datetime(2017, 6, 27, 10, 0, 0))

pip install -e .
parse_log_pytest
requirements.txt
pytest
apt-get update apt-get install -y gcc
3.9
requirements.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
exceptiongroup==1.2.2
iniconfig==2.1.0
-e git+https://github.com/MycroftAI/lingua-franca.git@4c66a5ec87113842519b5f6166695b75ed01a46f#egg=lingua_franca
packaging==24.2
pluggy==1.5.0
pytest==8.3.5
python-dateutil==2.6.0
six==1.17.0
tomli==2.2.1

name: lingua-franca
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=3.0.16=h5eee18b_0
  - pip=25.0=py39h06a4308_0
  - python=3.9.21=he870216_1
  - readline=8.2=h5eee18b_0
  - setuptools=75.8.0=py39h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - tzdata=2025a=h04d1e81_0
  - wheel=0.45.1=py39h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - exceptiongroup==1.2.2
      - iniconfig==2.1.0
      - packaging==24.2
      - pluggy==1.5.0
      - pytest==8.3.5
      - python-dateutil==2.6.0
      - six==1.17.0
      - tomli==2.2.1
prefix: /opt/conda/envs/lingua-franca

test/test_parse.py::TestNormalize::test_extract_ambiguous_time_en
test/test_parse.py::TestFuzzyMatch::test_match_one test/test_parse.py::TestFuzzyMatch::test_matches test/test_parse.py::TestNormalize::test_articles test/test_parse.py::TestNormalize::test_combinations test/test_parse.py::TestNormalize::test_contractions test/test_parse.py::TestNormalize::test_extract_duration_en test/test_parse.py::TestNormalize::test_extract_number test/test_parse.py::TestNormalize::test_extract_relativedatetime_en test/test_parse.py::TestNormalize::test_extractdatetime_en test/test_parse.py::TestNormalize::test_gender test/test_parse.py::TestNormalize::test_multiple_numbers test/test_parse.py::TestNormalize::test_numbers test/test_parse.py::TestNormalize::test_spaces
lingua_franca/lang/parse_en.py
lingua_franca/lang/parse_en.py