Index: publishcontent.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/publishcontent/publishcontent.module,v
retrieving revision 1.3.4.12
diff -u -p -r1.3.4.12 publishcontent.module
--- publishcontent.module	1 Jun 2010 13:42:36 -0000	1.3.4.12
+++ publishcontent.module	1 Jun 2010 13:51:31 -0000
@@ -151,12 +151,14 @@ function publishcontent_views_handlers()
  */
 function publishcontent_form_alter(&$form, $form_state, $form_id) {
   if (!user_access('administer nodes')
-      && $form['type']['#value'] .'_node_form' == $form_id
-      && (_publishcontent_unpublish_access($form['#node']) ||
-          _publishcontent_publish_access($form['#node']))) {
+    && $form['type']['#value'] .'_node_form' == $form_id
+    && ((_publishcontent_unpublish_access($form['#node']) 
+        && $form['#node']->status) 
+      ||(_publishcontent_publish_access($form['#node'])
+        && !$form['#node']->status))) {
     $form['options']['#access'] = TRUE;
-    unset($form['options']['promote']);
-    unset($form['options']['sticky']);
-    unset($form['options']['revision']);
+    foreach (element_children($form['options']) as $key) {
+      $form['options'][$key]['#access'] = FALSE;
+    }
   }
 }
