diff --git a/addons/website_blog/static/src/js/website_blog.editor.js b/addons/website_blog/static/src/js/website_blog.editor.js
index 2bfbb42754c2017cba12d763ee7bfa9eb4b4651d..0af72ddd34d981e8b484c7bb17813a300fa9c359 100644
--- a/addons/website_blog/static/src/js/website_blog.editor.js
+++ b/addons/website_blog/static/src/js/website_blog.editor.js
@@ -47,14 +47,14 @@ odoo.define('website_blog.editor', function (require) {
 
     rte.Class.include({
         saveElement: function ($el, context) {
-            if ($el.is('#js_blogcover')) {
+            if ($el.is('.website_blog #title')) {
                 return ajax.jsonRpc("/blog/post_change_background", 'call', {
-                    'post_id' : +$('#blog_post_name').data('oe-id'),
+                    'post_id' : +$el.find('#blog_post_name').data('oe-id'),
                     'cover_properties' : {
-                        "background-image": $el.css("background-image").replace(/"/g, ''),
-                        "background-color": $el.attr("class"),
-                        "opacity": $el.css("opacity"),
-                        "resize_class": $('#title').attr('class'),
+                        "background-image": $el.find('#js_blogcover').css("background-image").replace(/"/g, ''),
+                        "background-color": $el.find('#js_blogcover').attr("class"),
+                        "opacity": $el.find('#js_blogcover').css("opacity"),
+                        "resize_class": $el.attr('class'),
                     }
                 });
             }
@@ -81,16 +81,18 @@ odoo.define('website_blog.editor', function (require) {
     });
 
     options.registry.website_blog = options.Class.extend({
-        start : function(type, value, $li) {
-            this._super();
+        start : function() {
+            this.$cover = this.$target.find('#js_blogcover');
             this.src = this.$target.css("background-image").replace(/url\(|\)|"|'/g,'').replace(/.*none$/,'');
             this.$image = $('<image src="'+this.src+'">');
+            this._super();
         },
         clear : function(type, value, $li) {
             if (type !== 'click') return;
             this.src = null;
-            this.$target.css({"background-image": '', 'min-height': $(window).height()});
+            this.$cover.css({"background-image": '', 'min-height': ''});
             this.$image.removeAttr("src");
+            this.$target.removeClass('cover cover_full');
         },
         change : function(type, value, $li) {
             if (type !== 'click') return;
@@ -99,11 +101,32 @@ odoo.define('website_blog.editor', function (require) {
             editor.appendTo('body');
             editor.on('saved', self, function (event, img) {
                 var url = self.$image.attr('src');
-                self.$target.find('#js_blogcover').css({"background-image": url ? 'url(' + url + ')' : "", 'min-height': $(window).height()-$('#js_blogcover').offset().top});
-                self.$target.find('#js_blogcover').addClass('o_dirty');
-                self.buildingBlock.parent.rte_changed();
+                self.$cover.css({"background-image": url ? 'url(' + url + ')' : "", 'min-height': $(window).height()-this.$cover.offset().top});
+                self.$target.addClass('o_dirty cover cover_full');
+                self.set_active();
             });
         },
+        cover_class : function(type, value, $li) {
+            this.$target.attr("class", (type === 'over' || type === 'click') ? value : this.class);
+            this.$target.addClass('o_dirty');
+        },
+        opacity : function(type, value, $li) {
+            this.$cover.css("opacity", (type === 'over' || type === 'click') ? value : this.value);
+            this.$target.addClass('o_dirty');
+        },
+        bgcolor : function(type, value, $li) {
+            this.$cover.attr("class", (type === 'over' || type === 'click') ? value : this.background);
+            this.$target.addClass('o_dirty');
+        },
+        set_active: function(){
+            this._super();
+            this.background = this.$cover.attr("class");
+            this.class = this.$target.attr('class');
+            this.value = this.$cover.css('opacity');
+            this.$el.parent().find('.snippet-option-website_blog:not(li[data-change])').toggleClass("hidden", !this.$target.hasClass("cover"));
+            this.$el.find('li[data-bgcolor], li[data-opacity], li[data-cover_class]').removeClass("active");
+            this.$el.find('[data-bgcolor="' + this.background + '"], [data-opacity="' + parseFloat(this.value).toFixed(1) + '"], [data-cover_class*="' + ((this.class||'').indexOf('cover_full') === -1 ? 'container' : 'cover_full') + '"]').addClass("active");
+        },
     });
 
 });