         _flashDocsGrid.dataProvider.addItem(status);
 
         load.succeeded.add(function (lib :XflLibrary) :void {
+            var pub :Publisher = createPublisher();
             status.lib = lib;
-            status.updateModified(Ternary.of(publisher == null || publisher.modified(lib)));
+            status.updateModified(Ternary.of(pub == null || pub.modified(lib)));
             for each (var err :ParseError in lib.getErrors()) _errorsGrid.dataProvider.addItem(err);
             status.updateValid(Ternary.of(lib.valid));
         });

        _conf.exportDir = _confFile == null ? _exportChooser.dir.nativePath : _confFile.parent.getRelativePath(_exportChooser.dir, /*useDotDot=*/true);
    }

    protected function get publisher () :Publisher {
        if (_exportChooser.dir == null || _conf.exports.length == 0) return null;
        return new Publisher(_exportChooser.dir, _conf);
    }

        const prevQuality :String = stage.quality;

        stage.quality = StageQuality.BEST;
        createPublisher().publish(status.lib);

        stage.quality = prevQuality;
        status.updateModified(Ternary.FALSE);
