anchor.diff:        _updateSolution() {
           console.debug("Updating solution");
           const blockly = this._getBlockly();
  -
  +        let changed;
           if (this.teacherMode) {
  -          this._setExtraCode(blockly.workspaceXml);
  +          changed = this._setExtraCode(blockly.workspaceXml);
           } else {
  -          this._setStudentSolution(blockly.workspaceXml);
  +          changed = this._setStudentSolution(blockly.workspaceXml);
  +        }
  +
  +        if (!changed) {
  +          console.debug("No solution update required")
  +          return;
           }
   
           // TODO: this hack enables Angular two-way binding for Bibliotheca. Should be replaced with Mumuki events system
  
positive.code:        * to user content in laboratory, and default content in bibliotheca
         */
        _setStudentSolution(code) {
          console.debug(`Setting student ${code}`)
          this._getStudentEditor().value = code;
        },
  
        _getDefaultCode() {
  
negative.code:       },
  
        _setExtraCode(code) {
          if (this._getEditorExtra().value !== code) {
            console.debug(`Setting extra ${code}`)
            this._getEditorExtra().value = code;
            return true;
          }
          return false;
        },
  
        _getEditorExtra: function() {
  