diff --git a/debug/map/svgoverlay.html b/debug/map/svgoverlay.html
new file mode 100644
index 00000000000..c904234696d
--- /dev/null
+++ b/debug/map/svgoverlay.html
@@ -0,0 +1,53 @@
+
+
+
+ Leaflet debug page
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/leaflet.css b/dist/leaflet.css
index 7eb04980b39..983d60592b0 100644
--- a/dist/leaflet.css
+++ b/dist/leaflet.css
@@ -241,7 +241,8 @@
.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
-.leaflet-pane > svg path.leaflet-interactive {
+.leaflet-pane > svg path.leaflet-interactive,
+svg.leaflet-image-layer.leaflet-interactive path {
pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
pointer-events: auto;
}
diff --git a/src/layer/SVGOverlay.js b/src/layer/SVGOverlay.js
new file mode 100644
index 00000000000..7333ab9f95a
--- /dev/null
+++ b/src/layer/SVGOverlay.js
@@ -0,0 +1,46 @@
+import {ImageOverlay} from './ImageOverlay';
+import * as DomUtil from '../dom/DomUtil';
+import * as Util from '../core/Util';
+
+/*
+ * @class SVGOverlay
+ * @aka L.SVGOverlay
+ * @inherits ImageOverlay
+ *
+ * Used to load, display and provide DOM access to an SVG file over specific bounds of the map. Extends `ImageOverlay`.
+ *
+ * An SVG overlay uses the [`