Bug in plone.app.event in Plone 5.1?

When upgrading a Plone 4 site to 5.1 and after migrating AT content to Dexterity, the events portlet produces RuntimeError: maximum recursion depth exceeded while calling a Python object on every page view.

I think. I'm still kind of a newbie.

I use a buildout similar to the following:

extends = https://dist.plone.org/release/4.3.9/versions.cfg
index = https://pypi.python.org/simple/
newest = false
unzip = true
versions = versions
allow-hosts =
    pypi.fury.io
    *.githubusercontent.com
    *.github.com
    *.python.org
    *.plone.org
    launchpad.net
    files.pythonhosted.org
    pypi.org
    effbot.org
find-links +=
    https://files.pythonhosted.org/packages
    https://pypi.org/simple/
    https://pypi.org/project/
    http://dist.plone.org/
    http://effbot.org/downloads
parts = zope-debug

[zope-debug]
recipe = plone.recipe.zope2instance
debug-mode = off
environment-vars = TZ UTC
http-address = 8080
ip-address = localhost
password = admin
user = admin:admin 
verbose-security = on
debug-mode = on
eggs =
    pillow
    Plone
    Products.CMFPlone
  1. Create a Plone 4 site: bootstrap, buildout, zope-debug fg, visit http://localhost:8080/, click "Create a new Plone site", then "Create Plone Site".
  2. Stop the Zope instance, change the buildout's extends = to https://dist.plone.org/release/5.1.5/versions.cfg and buildout, zope-debug fg.
  3. Visit http://localhost:8080/ and click "Upgradeā€¦" and the blue "Upgrade" buttons.
  4. Click "Upgrade your existing content to use Dexterity"; note the first RuntimeError: maximum recursion depth exceeded while calling a Python object.
  5. Click "Install" then "Migrate".
  6. Click "News", "Events", "Users" in the global navbar. Note that each page load produces RuntimeError: maximum recursion depth exceeded while calling a Python object.

Did I mess up?

EDIT: removing and re-adding the Events portlet, or merely editing the portlet (by changing the publication states of items to include) makes the message go away.