diff --git a/include/proto/stream_interface.h b/include/proto/stream_interface.h
index c8d0a4c..7fc6d7e 100644
--- a/include/proto/stream_interface.h
+++ b/include/proto/stream_interface.h
@@ -50,8 +50,6 @@
 struct appctx *stream_int_register_handler(struct stream_interface *si, struct applet *app);
 void si_applet_wake_cb(struct stream_interface *si);
 void stream_int_update(struct stream_interface *si);
-void stream_int_update_conn(struct stream_interface *si);
-void stream_int_update_applet(struct stream_interface *si);
 void stream_int_notify(struct stream_interface *si);
 int si_cs_recv(struct conn_stream *cs);
 int si_cs_send(struct conn_stream *cs);
@@ -364,26 +362,6 @@
 	si->ops->shutw(si);
 }
 
-/* Updates the stream interface and timers, to complete the work after the
- * analysers, then clears the relevant channel flags, and the errors and
- * expirations, then updates the data layer below. This will ensure that any
- * synchronous update performed at the data layer will be reflected in the
- * channel flags and/or stream-interface.
- */
-static inline void si_update(struct stream_interface *si)
-{
-	if (si->state == SI_ST_EST)
-		stream_int_update(si);
-
-	si_ic(si)->flags &= ~(CF_READ_NULL|CF_READ_PARTIAL|CF_READ_ATTACHED);
-	si_oc(si)->flags &= ~(CF_WRITE_NULL|CF_WRITE_PARTIAL);
-	si->flags &= ~(SI_FL_ERR|SI_FL_EXP);
-	si->prev_state = si->state;
-
-	if (si->ops->update && (si->state == SI_ST_CON || si->state == SI_ST_EST))
-		si->ops->update(si);
-}
-
 /* This is to be used after making some room available in a channel. It will
  * return without doing anything if {SI_FL_WANT_PUT,SI_FL_WAIT_ROOM} != {1,0}.
  * It will then call ->chk_rcv() to enable receipt of new data.
diff --git a/include/types/stream_interface.h b/include/types/stream_interface.h
index 0362afd..4d71c87 100644
--- a/include/types/stream_interface.h
+++ b/include/types/stream_interface.h
@@ -86,7 +86,7 @@
 
 /* Note that if an applet is registered, the update function will not be called
  * by the session handler, so it may be used to resync flags at the end of the
- * applet handler. See stream_int_update_embedded() for reference.
+ * applet handler. See stream_int_update() for reference.
  */
 struct stream_interface {
 	/* struct members used by the "buffer" side */
@@ -106,7 +106,6 @@
 
 /* operations available on a stream-interface */
 struct si_ops {
-	void (*update)(struct stream_interface *);  /* I/O update function, may be null */
 	void (*chk_rcv)(struct stream_interface *); /* chk_rcv function, may not be null */
 	void (*chk_snd)(struct stream_interface *); /* chk_snd function, may not be null */
 	void (*shutr)(struct stream_interface *);   /* shut read function, may not be null */
