diff --git a/template/after.sh b/template/after.sh
new file mode 100755
index 0000000000000000000000000000000000000000..8153a04c0087879fee52add452978e7e249430c6
--- /dev/null
+++ b/template/after.sh
@@ -0,0 +1,8 @@
+# Wait for the Jupyter Notebook server to start
+echo "Waiting for Jupyter Notebook server to open port ${port}..."
+if wait_until_port_used "${host}:${port}" 60; then
+  echo "Discovered Jupyter Notebook server listening on port ${port}!"
+else
+  echo "Timed out waiting for Jupyter Notebook server to open port ${port}!" ; exit 1
+fi
+sleep 2
diff --git a/view.html.erb b/view.html.erb
index 67b19c7e16f59e50a52e736b8246ef25de852d84..ea48d2578162ea441b321073864581de80b8fdc2 100644
--- a/view.html.erb
+++ b/view.html.erb
@@ -1,9 +1,3 @@
-<p>
-  If you see <code>Failed to connect to ...</code>, then wait a few seconds
-  before trying the <strong>Connect to Jupyter</strong> button again. This
-  warning appeared because the Jupyter Notebook is still starting up.
-</p>
-
 <form action="/node/<%= host %>/<%= port %>/login" method="post" target="_blank">
   <input type="hidden" name="password" value="<%= password %>">
   <button class="btn btn-primary" type="submit">