diff --git a/module/VuFind/src/VuFind/ILS/Driver/Symphony.php b/module/VuFind/src/VuFind/ILS/Driver/Symphony.php
index 70cb94502e37440d31122e4c39048d8df8d130e0..2417aa4b217eff301820613f16a649a3dfa63bcc 100644
--- a/module/VuFind/src/VuFind/ILS/Driver/Symphony.php
+++ b/module/VuFind/src/VuFind/ILS/Driver/Symphony.php
@@ -1121,7 +1121,32 @@ class Symphony extends AbstractBase
             $patron['lastname']  = $matches[1];
         }
 
-        // @TODO: email, major, college
+        // There may be an email address in any of three numbered addresses,
+        // so we search each one until we find an email address,
+        // starting with the one marked primary.
+        $addrinfo_check_order = array('1','2','3');
+        if (isset($resp->patronAddressInfo->primaryAddress)) {
+          $primary_addr_n = $resp->patronAddressInfo->primaryAddress;
+          array_unshift($addrinfo_check_order, $primary_addr_n);
+        }
+        foreach ($addrinfo_check_order as $n) {
+            $AddressNInfo = "Address{$n}Info";
+            if (isset($resp->patronAddressInfo->$AddressNInfo)) {
+                $addrinfos = is_array($resp->patronAddressInfo->$AddressNInfo)
+                    ? $resp->patronAddressInfo->$AddressNInfo
+                    : array($resp->patronAddressInfo->$AddressNInfo);
+                foreach ($addrinfos as $addrinfo) {
+                    if ($addrinfo->addressPolicyID == 'EMAIL'
+                        && !empty($addrinfo->addressValue)) {
+                        $patron['email'] = $addrinfo->addressValue;
+                        break;
+                    }
+                }
+
+            }
+        }
+
+        // @TODO: major, college
 
         return $patron;
     }