diff --git a/src/calibre/customize/__init__.py b/src/calibre/customize/__init__.py index faa6fcada2..891e0e0772 100644 --- a/src/calibre/customize/__init__.py +++ b/src/calibre/customize/__init__.py @@ -529,9 +529,13 @@ class InterfaceActionBase(Plugin): # {{{ ''' This method must return the actual interface action plugin object. ''' - mod, cls = self.actual_plugin.split(':') - return getattr(importlib.import_module(mod), cls)(gui, - self.site_customization) + ac = getattr(self, 'actual_plugin_', None) + if ac is None: + mod, cls = self.actual_plugin.split(':') + ac = getattr(importlib.import_module(mod), cls)(gui, + self.site_customization) + self.actual_plugin_ = ac + return ac # }}}