diff --git a/sf_notifier/salesforce/client.py b/sf_notifier/salesforce/client.py
index 0d50b62..51b1b43 100644
--- a/sf_notifier/salesforce/client.py
+++ b/sf_notifier/salesforce/client.py
@@ -23,7 +23,7 @@
 from prometheus_client import Counter, Gauge
 
 from requests import Session
-from requests import exceptions as req_exceptions
+from requests.exceptions import ConnectionError as RequestsConnectionError
 
 from simple_salesforce import Salesforce
 from simple_salesforce import exceptions as sf_exceptions
@@ -62,7 +62,7 @@
         except sf_exceptions.SalesforceExpiredSession:
             logger.warning('Salesforce session expired.')
             self._auth()
-        except req_exceptions.ConnectionError:
+        except RequestsConnectionError:
             logger.error('Salesforce connection error.')
             self._auth()
         return method(self, *args, **kwargs)
diff --git a/sf_notifier/server.py b/sf_notifier/server.py
index 263d1b6..e7d6787 100644
--- a/sf_notifier/server.py
+++ b/sf_notifier/server.py
@@ -20,6 +20,8 @@
 
 from prometheus_client import make_wsgi_app
 
+from requests.exceptions import ConnectionError as RequestsConnectionError
+
 from sf_notifier.helpers import alert_fields_and_action
 from sf_notifier.salesforce.client import SalesforceClient
 
@@ -77,7 +79,7 @@
         if fields:
             try:
                 cases.append(getattr(sf_cli, action)(*fields))
-            except SalesforceError as err:
+            except (SalesforceError, RequestsConnectionError) as err:
                 msg = 'Salesforce request failure: {}.'.format(err)
                 sf_cli.metrics['sf_error_count'].inc()
                 app.logger.error(msg)
