diff --git a/embassy/demos/common/src/server.rs b/embassy/demos/common/src/server.rs
index f6160bbabda1816755369bf5daff40b4d8e07d76..76f1a3af65889c9a1da3172439e7425b2b3daa4c 100644
--- a/embassy/demos/common/src/server.rs
+++ b/embassy/demos/common/src/server.rs
@@ -15,7 +15,6 @@ use embassy_net::tcp::TcpSocket;
 use embassy_net::Stack;
 use embassy_net_driver::Driver;
 use embassy_futures::select::{select, Either};
-use embassy_time::{Duration, Timer};
 
 use embedded_io_async::Write;
 
@@ -50,16 +49,16 @@ pub async fn listener<D: Driver, S: DemoServer>(stack: &'static Stack<D>,
 
         let r = session::<S>(&mut socket, &config, &init).await;
         if let Err(_e) = r {
-            // warn!("Ended with error: {:?}", e);
+            // TODO defmt errors
             warn!("Ended with error");
         }
 
         // Make sure a TCP socket reset is sent to the remote host
         socket.abort();
 
-        // TODO: Replace this with something proper like
-        // https://github.com/embassy-rs/embassy/pull/1471
-        Timer::after(Duration::from_millis(200)).await;
+        if let Err(_e) = socket.flush().await {
+            warn!("Ended with error");
+        }
     }
 }