diff --git a/extension/src/content/index.js b/extension/src/content/index.js
index cf9ae18..09d32ef 100644
--- a/extension/src/content/index.js
+++ b/extension/src/content/index.js
@@ -10,8 +10,15 @@
 // Port to communicate with background js.
 // One content script runs per iframe / tabs so there may be multiple ports
 // per page.
-// TODO(bprosnitz) Change this to lazily connect.
-var backgroundPort = chrome.runtime.connect();
+var _backgroundPort;
+function getBackgroundPort() {
+  // Lazily connect to background port.
+  if (!_backgroundPort) {
+    _backgroundPort = chrome.runtime.connect();
+    _backgroundPort.onMessage.addListener(backgroundPageMessageForwarder);
+  }
+  return _backgroundPort;
+}
 
 // We generate and send different instanceIds to the background page than those
 // coming from the web app. This prevents the web app from intentionally
@@ -69,7 +76,7 @@
   }
 
   try {
-    backgroundPort.postMessage({
+    getBackgroundPort().postMessage({
       type: this.event,
       body: body
     });
@@ -80,7 +87,7 @@
 });
 
 // Forward any messages from the background page to the webApp.
-backgroundPort.onMessage.addListener(function(msg) {
+function backgroundPageMessageForwarder(msg) {
   debug('content script received message of type', msg.type,
     'from background script:', msg.body);
 
@@ -100,6 +107,6 @@
   }
 
   pageEventProxy.send(msg.type, msg);
-});
+}
 
 debug('content script loaded');
