diff --git modules/acquia/print/print.install modules/acquia/print/print.install
index 379119c..9738aa0 100755
--- modules/acquia/print/print.install
+++ modules/acquia/print/print.install
@@ -364,18 +364,8 @@ function print_update_6007() {
     $print_display_comment = variable_get('print_display_comment_'. $value->type, 0);
     $print_display_urllist = variable_get('print_display_urllist_'. $value->type, 1);
 
-    $result = db_query('SELECT n.nid, link, comments, url_list from {node} AS n LEFT JOIN {print_node_conf} AS pnc ON n.nid = pnc.nid WHERE type = "%s"', $value->type);
-    while ($conf = db_fetch_object($result)) {
-      if (($conf->link != NULL) && ($conf->comments != NULL) && ($conf->url_list != NULL)) {
-        $conf->link = !$print_display ? 0 : $conf->link;
-        $conf->comments = $print_display_comment ? 1 : $conf->comments;
-        $conf->url_list = !$print_display_urllist ? 0 : $conf->url_list;
-        $ret[] = update_sql("UPDATE {print_node_conf} SET link = $conf->link, comments = $conf->comments, url_list = $conf->url_list WHERE nid = $conf->nid");
-      }
-      else {
-        $ret[] = update_sql("INSERT INTO {print_node_conf} (nid, link, comments, url_list) VALUES ($conf->nid, $print_display, $print_display_comment, $print_display_urllist)");
-      }
-    }
+    $ret[] = update_sql("UPDATE {print_node_conf} SET link=GREATEST(link, $print_display), comments=GREATEST($print_display_comment, comments), url_list=GREATEST(url_list, $print_display_urllist) WHERE nid IN (SELECT nid FROM {node} WHERE type = '$value->type')");
+    $ret[] = update_sql("INSERT INTO {print_node_conf} (nid, link, comments, url_list) SELECT n.nid, 0, 0, 1 FROM node n LEFT JOIN {print_node_conf} p on p.nid = n.nid WHERE n.type = '$value->type' AND p.nid IS NULL");
   }
   return $ret;
 }
diff --git modules/acquia/print/print_mail/print_mail.install modules/acquia/print/print_mail/print_mail.install
index 4137263..8fd9e46 100755
--- modules/acquia/print/print_mail/print_mail.install
+++ modules/acquia/print/print_mail/print_mail.install
@@ -302,18 +302,9 @@ function print_mail_update_6007() {
     $print_mail_display_comment = variable_get('print_mail_display_comment_'. $value->type, 0);
     $print_mail_display_urllist = variable_get('print_mail_display_urllist_'. $value->type, 1);
 
-    $result = db_query('SELECT n.nid, link, comments, url_list from {node} AS n LEFT JOIN {print_mail_node_conf} AS pnc ON n.nid = pnc.nid WHERE type = "%s"', $value->type);
-    while ($conf = db_fetch_object($result)) {
-      if (($conf->link != NULL) && ($conf->comments != NULL) && ($conf->url_list != NULL)) {
-        $conf->link = !$print_mail_display ? 0 : $conf->link;
-        $conf->comments = $print_mail_display_comment ? 1 : $conf->comments;
-        $conf->url_list = !$print_mail_display_urllist ? 0 : $conf->url_list;
-        $ret[] = update_sql("UPDATE {print_mail_node_conf} SET link = $conf->link, comments = $conf->comments, url_list = $conf->url_list WHERE nid = $conf->nid");
-      }
-      else {
-        $ret[] = update_sql("INSERT INTO {print_mail_node_conf} (nid, link, comments, url_list) VALUES ($conf->nid, $print_mail_display, $print_mail_display_comment, $print_mail_display_urllist)");
-      }
-    }
+    $ret[] = update_sql("UPDATE {print_mail_node_conf} SET link=GREATEST(link, $print_mail_display), comments=GREATEST($print_mail_display_comment, comments), url_list=GREATEST(url_list, $print_mail_display_urllist) WHERE nid IN (SELECT nid FROM {node} WHERE type = '$value->type')");
+    $ret[] = update_sql("INSERT INTO {print_mail_node_conf} (nid, link, comments, url_list) SELECT n.nid, 0, 0, 1 FROM node n LEFT JOIN {print_mail_node_conf} p on p.nid = n.nid WHERE n.type = '$value->type' AND p.nid IS NULL");
   }
   return $ret;
 }
+
diff --git modules/acquia/print/print_pdf/print_pdf.install modules/acquia/print/print_pdf/print_pdf.install
index f7c3d84..1de8979 100755
--- modules/acquia/print/print_pdf/print_pdf.install
+++ modules/acquia/print/print_pdf/print_pdf.install
@@ -280,18 +280,9 @@ function print_pdf_update_6007() {
     $print_pdf_display_comment = variable_get('print_pdf_display_comment_'. $value->type, 0);
     $print_pdf_display_urllist = variable_get('print_pdf_display_urllist_'. $value->type, 1);
 
-    $result = db_query('SELECT n.nid, link, comments, url_list from {node} AS n LEFT JOIN {print_pdf_node_conf} AS pnc ON n.nid = pnc.nid WHERE type = "%s"', $value->type);
-    while ($conf = db_fetch_object($result)) {
-      if (($conf->link != NULL) && ($conf->comments != NULL) && ($conf->url_list != NULL)) {
-        $conf->link = !$print_pdf_display ? 0 : $conf->link;
-        $conf->comments = $print_pdf_display_comment ? 1 : $conf->comments;
-        $conf->url_list = !$print_pdf_display_urllist ? 0 : $conf->url_list;
-        $ret[] = update_sql("UPDATE {print_pdf_node_conf} SET link = $conf->link, comments = $conf->comments, url_list = $conf->url_list WHERE nid = $conf->nid");
-      }
-      else {
-        $ret[] = update_sql("INSERT INTO {print_pdf_node_conf} (nid, link, comments, url_list) VALUES ($conf->nid, $print_pdf_display, $print_pdf_display_comment, $print_pdf_display_urllist)");
-      }
-    }
+    $ret[] = update_sql("UPDATE {print_pdf_node_conf} SET link=GREATEST(link, $print_pdf_display), comments=GREATEST($print_pdf_display_comment, comments), url_list=GREATEST(url_list, $print_pdf_display_urllist) WHERE nid IN (SELECT nid FROM {node} WHERE type = '$value->type')");
+    $ret[] = update_sql("INSERT INTO {print_pdf_node_conf} (nid, link, comments, url_list) SELECT n.nid, 0, 0, 1 FROM node n LEFT JOIN {print_pdf_node_conf} p on p.nid = n.nid WHERE n.type = '$value->type' AND p.nid IS NULL");
   }
   return $ret;
 }
+
