diff --git a/src/ol/featureoverlay.js b/src/ol/featureoverlay.js
index 39644d15f8..5419977f32 100644
--- a/src/ol/featureoverlay.js
+++ b/src/ol/featureoverlay.js
@@ -65,7 +65,7 @@ ol.FeatureOverlay = function(opt_options) {
* @private
* @type {ol.style.Style|Array.
|ol.feature.StyleFunction}
*/
- this.style_ = null;
+ this.style_ = goog.isDef(options.style) ? options.style : null;
/**
* @private
diff --git a/test/spec/ol/featureoverlay.test.js b/test/spec/ol/featureoverlay.test.js
new file mode 100644
index 0000000000..47aa06189a
--- /dev/null
+++ b/test/spec/ol/featureoverlay.test.js
@@ -0,0 +1,34 @@
+goog.provide('ol.test.FeatureOverlay');
+
+describe('ol.FeatureOverlay', function() {
+
+ describe('constructor', function() {
+
+ it('creates an new feature overlay', function() {
+ var featureOverlay = new ol.FeatureOverlay();
+ expect(featureOverlay).to.be.a(ol.FeatureOverlay);
+ });
+
+ it('takes features', function() {
+ var featureOverlay = new ol.FeatureOverlay({
+ features: [new ol.Feature(new ol.geom.Point([0, 0]))]
+ });
+ expect(featureOverlay.getFeatures().getLength()).to.be(1);
+ });
+
+ it('takes a style', function() {
+ var style = [new ol.style.Style()];
+ var featureOverlay = new ol.FeatureOverlay({
+ style: [new ol.style.Style()]
+ });
+ expect(featureOverlay.getStyle()).to.eql(style);
+ expect(featureOverlay.getStyleFunction()()).to.eql(style);
+ });
+
+ });
+});
+
+goog.require('ol.Feature');
+goog.require('ol.FeatureOverlay');
+goog.require('ol.geom.Point');
+goog.require('ol.style.Style');