diff --git a/src/objectliterals.jsdoc b/src/objectliterals.jsdoc
index e9c0fe5c09..709810cf94 100644
--- a/src/objectliterals.jsdoc
+++ b/src/objectliterals.jsdoc
@@ -665,6 +665,8 @@
/**
* @typedef {Object} ol.source.OSMOptions
* @property {Array.
|undefined} attributions Attributions.
+ * @property {null|string|undefined} crossOrigin crossOrigin setting for image
+ * requests. Default is `anonymous`.
* @property {number|undefined} maxZoom Max zoom.
* @property {ol.TileLoadFunctionType|undefined} tileLoadFunction Optional
* function to load a tile given a URL.
diff --git a/src/ol/source/osmsource.js b/src/ol/source/osmsource.js
index 92e13ec6b8..96012bc18d 100644
--- a/src/ol/source/osmsource.js
+++ b/src/ol/source/osmsource.js
@@ -22,12 +22,15 @@ ol.source.OSM = function(opt_options) {
attributions = ol.source.OSM.ATTRIBUTIONS;
}
+ var crossOrigin = goog.isDef(options.crossOrigin) ?
+ options.crossOrigin : 'anonymous';
+
var url = goog.isDef(options.url) ?
options.url : 'http://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png';
goog.base(this, {
attributions: attributions,
- crossOrigin: 'anonymous',
+ crossOrigin: crossOrigin,
opaque: true,
maxZoom: options.maxZoom,
tileLoadFunction: options.tileLoadFunction,