diff --git a/include/proto/stream.h b/include/proto/stream.h
index 44fc8be..00f452c 100644
--- a/include/proto/stream.h
+++ b/include/proto/stream.h
@@ -36,6 +36,7 @@
 extern struct data_cb sess_conn_cb;
 
 struct stream *stream_new(struct session *sess, enum obj_type *origin);
+int stream_create_from_conn(struct connection *conn);
 
 /* perform minimal intializations, report 0 in case of error, 1 if OK. */
 int init_stream();
diff --git a/src/session.c b/src/session.c
index 69ca2cb..c86baff 100644
--- a/src/session.c
+++ b/src/session.c
@@ -111,7 +111,6 @@
 	struct connection *cli_conn;
 	struct proxy *p = l->bind_conf->frontend;
 	struct session *sess;
-	struct stream *strm;
 	int ret;
 
 
@@ -268,10 +267,9 @@
 		goto out_free_sess;
 
 	session_count_new(sess);
-	if ((strm = stream_new(sess, &cli_conn->obj_type)) == NULL)
+	if (stream_create_from_conn(cli_conn) < 0)
 		goto out_free_sess;
 
-	task_wakeup(strm->task, TASK_WOKEN_INIT);
 	return 1;
 
  out_free_sess:
@@ -417,7 +415,6 @@
 static int conn_complete_session(struct connection *conn)
 {
 	struct session *sess = conn->owner;
-	struct stream *strm;
 
 	conn_clear_xprt_done_cb(conn);
 
@@ -436,11 +433,9 @@
 		goto fail;
 
 	session_count_new(sess);
-	if ((strm = stream_new(sess, &conn->obj_type)) == NULL)
+	if (stream_create_from_conn(conn) < 0)
 		goto fail;
 
-	task_wakeup(strm->task, TASK_WOKEN_INIT);
-
 	/* the embryonic session's task is not needed anymore */
 	task_delete(sess->task);
 	task_free(sess->task);
diff --git a/src/stream.c b/src/stream.c
index 8527c29..1985ed9 100644
--- a/src/stream.c
+++ b/src/stream.c
@@ -65,6 +65,23 @@
 /* List of all use-service keywords. */
 static struct list service_keywords = LIST_HEAD_INIT(service_keywords);
 
+
+/* Create a new stream for connection <conn>. Return < 0 on error. This is only
+ * valid right after the handshake, before the connection's data layer is
+ * initialized, because it relies on the session to be in conn->owner.
+ */
+int stream_create_from_conn(struct connection *conn)
+{
+	struct stream *strm;
+
+	strm = stream_new(conn->owner, &conn->obj_type);
+	if (strm == NULL)
+		return -1;
+
+	task_wakeup(strm->task, TASK_WOKEN_INIT);
+	return 0;
+}
+
 /* This function is called from the session handler which detects the end of
  * handshake, in order to complete initialization of a valid stream. It must be
  * called with a completley initialized session. It returns the pointer to
