diff --git a/beetsplug/lyrics.py b/beetsplug/lyrics.py
index 0e797d5a3..00b8820f4 100644
--- a/beetsplug/lyrics.py
+++ b/beetsplug/lyrics.py
@@ -373,7 +373,14 @@ class Genius(Backend):
# At least Genius is nice and has a tag called 'lyrics'!
# Updated css where the lyrics are based in HTML.
- lyrics = html.find("div", class_="lyrics").get_text()
+ lyrics_div = html.find("div", class_="lyrics")
+
+ # nullcheck
+ if lyrics_div is None:
+ self._log.debug(u'Genius lyrics for {0} not found',
+ page_url)
+ return None
+ lyrics = lyrics_div.get_text()
return lyrics
diff --git a/docs/changelog.rst b/docs/changelog.rst
index 33ad386ad..fd0c225f9 100644
--- a/docs/changelog.rst
+++ b/docs/changelog.rst
@@ -178,6 +178,8 @@ Fixes:
* Removed ``@classmethod`` decorator from dbcore.query.NoneQuery.match method
failing with AttributeError when called. It is now an instance method.
:bug:`3516` :bug:`3517`
+* :doc:`/plugins/lyrics`: Tolerate missing lyrics div in Genius scraper
+ :bug:`3535`
For plugin developers:
diff --git a/test/rsrc/lyrics/geniuscom/sample.txt b/test/rsrc/lyrics/geniuscom/sample.txt
new file mode 100644
index 000000000..1648d070a
--- /dev/null
+++ b/test/rsrc/lyrics/geniuscom/sample.txt
@@ -0,0 +1,270 @@
+
+
+