 core/modules/ckeditor/js/plugins/drupalimage/plugin.js | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/core/modules/ckeditor/js/plugins/drupalimage/plugin.js b/core/modules/ckeditor/js/plugins/drupalimage/plugin.js
index 80921c2..f53f793 100644
--- a/core/modules/ckeditor/js/plugins/drupalimage/plugin.js
+++ b/core/modules/ckeditor/js/plugins/drupalimage/plugin.js
@@ -69,6 +69,17 @@
         // support: http://dev.ckeditor.com/ticket/11341.
         widgetDefinition.parts.link = 'This is a nonsensical selector to disable this functionality completely';
 
+        // Overrides default implementation. Used to populate the "classes"
+        // property of the widget's "data" property. Is applied to whatever the
+        // main element is of the widget (<figure> or <img>). We don't need this
+        // because we only want those classes to be applied to <figure>, not to
+        // <img>. And the widget template already contains the necessary classes
+        // (image2_captionedClass).
+        // @see https://www.drupal.org/node/2268941
+        widgetDefinition.getClasses = function () {
+          return {};
+        };
+
         // Override downcast(): since we only accept <img> in our upcast method,
         // the element is already correct. We only need to update the element's
         // data-entity-uuid attribute.
