diff --git a/daisy/applications/daisywiki/frontend/src/main/java/org/outerj/daisy/frontend/editor/DocumentEditorApple.java b/daisy/applications/daisywiki/frontend/src/main/java/org/outerj/daisy/frontend/editor/DocumentEditorApple.java
index 96494a7..b736a70 100644
--- a/daisy/applications/daisywiki/frontend/src/main/java/org/outerj/daisy/frontend/editor/DocumentEditorApple.java
+++ b/daisy/applications/daisywiki/frontend/src/main/java/org/outerj/daisy/frontend/editor/DocumentEditorApple.java
@@ -37,6 +37,7 @@ import org.outerj.daisy.repository.AccessException;
 import org.outerj.daisy.repository.AvailableVariant;
 import org.outerj.daisy.repository.ChangeType;
 import org.outerj.daisy.repository.Document;
+import org.outerj.daisy.repository.LiveStrategy;
 import org.outerj.daisy.repository.RepositoryException;
 import org.outerj.daisy.repository.Version;
 import org.outerj.daisy.repository.VersionState;
@@ -192,6 +193,7 @@ public class DocumentEditorApple extends DocumentEditorSupport implements Contex
         if (lastVersionId == document.getLastVersionId()) { // there was no new version, set the version-level properties manually
             Version lastVersion = document.getLastVersion();
             VersionState previousState = lastVersion.getState();
+            boolean makeLive = form.getPublishImmediately() && (document.getNewLiveStrategy().equals(LiveStrategy.ALWAYS) || document.getNewLiveStrategy().equals(LiveStrategy.DEFAULT));
             lastVersion.setState(form.getPublishImmediately() ? VersionState.PUBLISH : VersionState.DRAFT);
 
             lastVersion.setChangeType(form.getMajorChange() ? ChangeType.MAJOR : ChangeType.MINOR);
@@ -210,8 +212,17 @@ public class DocumentEditorApple extends DocumentEditorSupport implements Contex
                 // user is not allowed to publish: ignore
                 lastVersion.setState(previousState);
                 lastVersion.save();
+                makeLive = false;
             }
 
+            if (makeLive) {
+                try {
+                    document.setRequestedLiveVersionId(-1);
+                    document.save(form.getValidateOnSave());
+                } catch (AccessException e) {
+                    // ignore
+                }
+            }
         }
         document.releaseLock();
         if (returnTo != null)
diff --git a/daisy/repository/common/src/main/java/org/outerj/daisy/repository/commonimpl/DocumentVariantImpl.java b/daisy/repository/common/src/main/java/org/outerj/daisy/repository/commonimpl/DocumentVariantImpl.java
index f833552..54a0301 100644
--- a/daisy/repository/common/src/main/java/org/outerj/daisy/repository/commonimpl/DocumentVariantImpl.java
+++ b/daisy/repository/common/src/main/java/org/outerj/daisy/repository/commonimpl/DocumentVariantImpl.java
@@ -495,7 +495,7 @@ public class DocumentVariantImpl {
             documentXml.setNewChangeComment(changeComment);
         }
         documentXml.setNewLiveStrategy(NewLiveStrategy.Enum.forString(liveStrategy.toString()));
-        if (requestedLiveVersionId != -1) {
+        if (requestedLiveVersionId != 0) {
             documentXml.setRequestedLiveVersionId(requestedLiveVersionId);
         }
         documentXml.setVariantUpdateCount(updateCount);
diff --git a/daisy/repository/server/src/main/java/org/outerj/daisy/repository/serverimpl/LocalDocumentStrategy.java b/daisy/repository/server/src/main/java/org/outerj/daisy/repository/serverimpl/LocalDocumentStrategy.java
index 68e0203..ca187e4 100644
--- a/daisy/repository/server/src/main/java/org/outerj/daisy/repository/serverimpl/LocalDocumentStrategy.java
+++ b/daisy/repository/server/src/main/java/org/outerj/daisy/repository/serverimpl/LocalDocumentStrategy.java
@@ -466,7 +466,7 @@ public class LocalDocumentStrategy extends AbstractLocalStrategy implements Docu
     }
 
     public void store(DocumentImpl document) throws RepositoryException {
-        if (!logger.isDebugEnabled()) {
+        if (logger.isDebugEnabled()) {
             logger.debug("storing " + document.getName() + "(" + document.getId() + "@" + document.getBranchId() + ":" + document.getLanguageId() + ":" + document.getLastVersionId() + ")");
         }
         DocumentImpl.IntimateAccess documentInt = document.getIntimateAccess(this);
