diff --git a/doc/install.rst b/doc/install.rst
index d408189..5658dbb 100644
--- a/doc/install.rst
+++ b/doc/install.rst
@@ -9,8 +9,8 @@ The extension is available from:
 * `numpydoc on GitHub <https://github.com/numpy/numpydoc/>`_
 
 'numpydoc' should be added to the ``extensions`` option in your Sphinx
-``conf.py``.
-
+``conf.py``. (Note that `sphinx.ext.autosummary` will automatically be loaded
+as well.)
 
 Sphinx config options
 =====================
diff --git a/numpydoc/docscrape_sphinx.py b/numpydoc/docscrape_sphinx.py
index 640efa7..087ddaf 100644
--- a/numpydoc/docscrape_sphinx.py
+++ b/numpydoc/docscrape_sphinx.py
@@ -84,10 +84,11 @@ class SphinxDocString(NumpyDocString):
                                                           param_type)])
                 else:
                     out += self._str_indent([untyped_fmt % param.strip()])
-                if desc:
-                    if self.use_blockquotes:
-                        out += ['']
-                    out += self._str_indent(desc, 8)
+                if desc and self.use_blockquotes:
+                    out += ['']
+                elif not desc:
+                    desc = ['..']
+                out += self._str_indent(desc, 8)
                 out += ['']
         return out
 
diff --git a/numpydoc/numpydoc.py b/numpydoc/numpydoc.py
index 26abd66..0a6cc79 100644
--- a/numpydoc/numpydoc.py
+++ b/numpydoc/numpydoc.py
@@ -151,6 +151,8 @@ def setup(app, get_doc_object_=get_doc_object):
     app.add_domain(NumpyPythonDomain)
     app.add_domain(NumpyCDomain)
 
+    app.setup_extension('sphinx.ext.autosummary')
+
     metadata = {'version': __version__,
                 'parallel_read_safe': True}
     return metadata

dependency on sphinx.ext.autosummary
It appears that numpydoc has a hard dependency on sphinx.ext.autosummary being active (it inserts some `.. autosummary::` directives).  This is fine, but perhaps `numpydoc.setup` should just call `sphinx.ext.autosummary.setup` in that case?  (in the sense that I don't see much of a point in erroring out instead, which is the current behavior if sphinx.ext.autosummary is not listed in conf.py)
diff --git a/numpydoc/tests/test_docscrape.py b/numpydoc/tests/test_docscrape.py
index fa3f700..21bbe28 100644
--- a/numpydoc/tests/test_docscrape.py
+++ b/numpydoc/tests/test_docscrape.py
@@ -64,6 +64,7 @@ doc_txt = '''\
   list of str
       This is not a real return value.  It exists to test
       anonymous return values.
+  no_description
 
   Other Parameters
   ----------------
@@ -184,7 +185,7 @@ def test_other_parameters():
 
 
 def test_returns():
-    assert_equal(len(doc['Returns']), 2)
+    assert_equal(len(doc['Returns']), 3)
     arg, arg_type, desc = doc['Returns'][0]
     assert_equal(arg, 'out')
     assert_equal(arg_type, 'ndarray')
@@ -197,6 +198,11 @@ def test_returns():
     assert desc[0].startswith('This is not a real')
     assert desc[-1].endswith('anonymous return values.')
 
+    arg, arg_type, desc = doc['Returns'][2]
+    assert_equal(arg, 'no_description')
+    assert_equal(arg_type, '')
+    assert not ''.join(desc).strip()
+
 
 def test_yields():
     section = doc_yields['Yields']
@@ -373,6 +379,7 @@ out : ndarray
 list of str
     This is not a real return value.  It exists to test
     anonymous return values.
+no_description
 
 Other Parameters
 ----------------
@@ -506,6 +513,9 @@ of the one-dimensional normal distribution to higher dimensions.
         This is not a real return value.  It exists to test
         anonymous return values.
 
+    no_description
+        ..
+
 :Other Parameters:
 
     spam : parrot

pip install -e .
parse_log_pytest
requirements.txt
pytest
pip install --upgrade pip setuptools pip install nose
3.6
requirements/base.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
alabaster==0.7.13
attrs==22.2.0
Babel==2.11.0
certifi==2021.5.30
charset-normalizer==2.0.12
docutils==0.18.1
idna==3.10
imagesize==1.4.1
importlib-metadata==4.8.3
iniconfig==1.1.1
Jinja2==3.0.3
MarkupSafe==2.0.1
nose==1.3.7
-e git+https://github.com/numpy/numpydoc.git@8c1e85c746d1c95b9433b2ae97057b7f447c83d1#egg=numpydoc
packaging==21.3
pluggy==1.0.0
py==1.11.0
Pygments==2.14.0
pyparsing==3.1.4
pytest==7.0.1
pytz==2025.2
requests==2.27.1
snowballstemmer==2.2.0
Sphinx==5.3.0
sphinxcontrib-applehelp==1.0.2
sphinxcontrib-devhelp==1.0.2
sphinxcontrib-htmlhelp==2.0.0
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-serializinghtml==1.1.5
tomli==1.2.3
typing_extensions==4.1.1
urllib3==1.26.20
zipp==3.6.0

name: numpydoc
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
  - certifi=2021.5.30=py36h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.3=he6710b0_2
  - 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=1.1.1w=h7f8727e_0
  - python=3.6.13=h12debd9_1
  - readline=8.2=h5eee18b_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.37.1=pyhd3eb1b0_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - alabaster==0.7.13
      - attrs==22.2.0
      - babel==2.11.0
      - charset-normalizer==2.0.12
      - docutils==0.18.1
      - idna==3.10
      - imagesize==1.4.1
      - importlib-metadata==4.8.3
      - iniconfig==1.1.1
      - jinja2==3.0.3
      - markupsafe==2.0.1
      - nose==1.3.7
      - packaging==21.3
      - pip==21.3.1
      - pluggy==1.0.0
      - py==1.11.0
      - pygments==2.14.0
      - pyparsing==3.1.4
      - pytest==7.0.1
      - pytz==2025.2
      - requests==2.27.1
      - setuptools==59.6.0
      - snowballstemmer==2.2.0
      - sphinx==5.3.0
      - sphinxcontrib-applehelp==1.0.2
      - sphinxcontrib-devhelp==1.0.2
      - sphinxcontrib-htmlhelp==2.0.0
      - sphinxcontrib-jsmath==1.0.1
      - sphinxcontrib-qthelp==1.0.3
      - sphinxcontrib-serializinghtml==1.1.5
      - tomli==1.2.3
      - typing-extensions==4.1.1
      - urllib3==1.26.20
      - zipp==3.6.0
prefix: /opt/conda/envs/numpydoc

numpydoc/tests/test_docscrape.py::test_sphinx_str
numpydoc/tests/test_docscrape.py::test_signature numpydoc/tests/test_docscrape.py::test_summary numpydoc/tests/test_docscrape.py::test_extended_summary numpydoc/tests/test_docscrape.py::test_parameters numpydoc/tests/test_docscrape.py::test_other_parameters numpydoc/tests/test_docscrape.py::test_returns numpydoc/tests/test_docscrape.py::test_yields numpydoc/tests/test_docscrape.py::test_returnyield numpydoc/tests/test_docscrape.py::test_section_twice numpydoc/tests/test_docscrape.py::test_notes numpydoc/tests/test_docscrape.py::test_references numpydoc/tests/test_docscrape.py::test_examples numpydoc/tests/test_docscrape.py::test_index numpydoc/tests/test_docscrape.py::test_str numpydoc/tests/test_docscrape.py::test_yield_str numpydoc/tests/test_docscrape.py::test_sphinx_yields_str numpydoc/tests/test_docscrape.py::test_parameters_without_extended_description numpydoc/tests/test_docscrape.py::test_escape_stars numpydoc/tests/test_docscrape.py::test_empty_extended_summary numpydoc/tests/test_docscrape.py::test_raises numpydoc/tests/test_docscrape.py::test_warns numpydoc/tests/test_docscrape.py::test_see_also numpydoc/tests/test_docscrape.py::test_see_also_parse_error numpydoc/tests/test_docscrape.py::test_see_also_print numpydoc/tests/test_docscrape.py::test_unknown_section numpydoc/tests/test_docscrape.py::test_empty_first_line numpydoc/tests/test_docscrape.py::test_no_summary numpydoc/tests/test_docscrape.py::test_unicode numpydoc/tests/test_docscrape.py::test_plot_examples numpydoc/tests/test_docscrape.py::test_use_blockquotes numpydoc/tests/test_docscrape.py::test_class_members numpydoc/tests/test_docscrape.py::test_duplicate_signature numpydoc/tests/test_docscrape.py::test_class_members_doc numpydoc/tests/test_docscrape.py::test_class_members_doc_sphinx numpydoc/tests/test_docscrape.py::test_templated_sections
numpydoc/numpydoc.py numpydoc/docscrape_sphinx.py doc/install.rst
numpydoc/numpydoc.py numpydoc/docscrape_sphinx.py doc/install.rst