diff --git a/includes/webform2pdf.mail.inc b/includes/webform2pdf.mail.inc
index 6453508..e99cc22 100644
--- a/includes/webform2pdf.mail.inc
+++ b/includes/webform2pdf.mail.inc
@@ -1,30 +1,36 @@
 <?php
 
+/**
+ * Determine which email addresses should not receive a pdf attachment.
+ *
+ * @param \stdClass $node
+ *   Node object.
+ * @param \stdClass $submission
+ *   Webform submission object.
+ *
+ * @return array
+ *   A list of email addresses which should not get a pdf under the 'nopdf' key.
+ */
 function webform2pdf_send2pdf($node, $submission) {
   $webform2pdf = _webform2pdf_get_template($node->nid);
   $nopdf = array();
-  if (isset($webform2pdf['enabled']) && $webform2pdf['enabled'] && $webform2pdf['pdf_send_email']) {
-    $no_mail = isset($webform2pdf['no_send_email_addr']) ? $webform2pdf['no_send_email_addr'] : FALSE;
 
-    if (is_array($no_mail)) {
-      $no_mail = array_diff($no_mail, array(0));
-      if ( !empty($no_mail) ) {
-        foreach ($no_mail as $eid) {
-          $email_addresses = $node->webform['emails'][$eid]['email'];
-          if ( isset($node->webform['components'][$email_addresses]) ) {
-            $email_addresses = $submission->data[$eid]['value'];
-          }
-          else {
-            $email_addresses = array_filter(explode(',', check_plain($node->webform['emails'][$eid]['email'])));
-          }
-          $nopdf = array_merge($nopdf, $email_addresses);
-          $nopdf = array_map("trim", $nopdf);
-        }
-      }
+  if (!empty($webform2pdf['enabled']) && $webform2pdf['pdf_send_email'] && !empty($webform2pdf['no_send_email_addr'])) {
+    // Remove eids which should get an attachment, i.e unchecked on the admin
+    // form so have a value of "0".
+    $no_mail = array_diff($webform2pdf['no_send_email_addr'], array(0));
+
+    foreach ($no_mail as $eid) {
+      $cid = $node->webform['emails'][$eid]['email'];
+      $email_addresses = isset($node->webform['components'][$cid]) ? $submission->data[$cid] : explode(',', check_plain($node->webform['emails'][$eid]['email']));
+      // Add the email addresses to the nopdf array, removing duplicates.
+      $nopdf = array_merge($nopdf, $email_addresses);
+      $nopdf = array_map('trim', $nopdf);
     }
 
     // Check for a multi-page form that is not yet complete.
     return array('nid' => $node->nid, 'sid' => $submission->sid, 'nopdf' => $nopdf);
   }
-}
 
+  return array();
+}
