diff --git a/src/llc.cpp b/src/llc.cpp
index a4fd7af..524814c 100644
--- a/src/llc.cpp
+++ b/src/llc.cpp
@@ -22,6 +22,8 @@
 #include <tbf.h>
 #include <bts.h>
 
+#include <stdio.h>
+
 extern "C" {
 #include <osmocom/core/msgb.h>
 }
@@ -45,6 +47,10 @@
 
 void gprs_llc::put_frame(const uint8_t *data, size_t len)
 {
+	/* only put frames when we are empty */
+	OSMO_ASSERT(index == 0 && length == 0);
+
+	/* TODO: bounds check */
 	memcpy(frame, data, len);
 	length = len;
 }
@@ -68,11 +74,3 @@
 {
 	return msgb_dequeue(&queue);
 }
-
-void gprs_llc::update_frame(struct msgb *msg)
-{
-	/* TODO: assert that index is 0 now */
-	/* TODO: bounds check */
-	memcpy(frame, msg->data, msg->len);
-	length = msg->len;
-}
diff --git a/src/llc.h b/src/llc.h
index 43c027e..040ea62 100644
--- a/src/llc.h
+++ b/src/llc.h
@@ -34,7 +34,6 @@
 	void enqueue(struct msgb *llc_msg);
 	struct msgb *dequeue();
 
-	void update_frame(struct msgb *msg);
 	void put_frame(const uint8_t *data, size_t len);
 	void consume(uint8_t *data, size_t len);
 	void clear(BTS *bts);
diff --git a/src/tbf.cpp b/src/tbf.cpp
index 1416e09..b4b58e4 100644
--- a/src/tbf.cpp
+++ b/src/tbf.cpp
@@ -1096,7 +1096,7 @@
 		if (msg) {
 			LOGP(DRLCMACDL, LOGL_INFO, "- Dequeue next LLC for "
 				"%s (len=%d)\n", tbf_name(this), msg->len);
-			m_llc.update_frame(msg);
+			m_llc.put_frame(msg->data, msg->len);
 			msgb_free(msg);
 		}
 		/* if we have more data and we have space left */
@@ -1551,7 +1551,7 @@
 		return 0;
 	}
 	#warning "Copy and paste on the sender path"
-	m_llc.update_frame(msg);
+	m_llc.put_frame(msg->data, msg->len);
 	msgb_free(msg);
 
 	/* we have a message, so we trigger downlink assignment, and there
