diff --git a/bgpd/bgp_packet.c b/bgpd/bgp_packet.c
index 9fa23e5..a5fc749 100644
--- a/bgpd/bgp_packet.c
+++ b/bgpd/bgp_packet.c
@@ -99,22 +99,6 @@
   stream_free (stream_fifo_pop (peer->obuf));
 }
 
-/* Duplicate packet. */
-struct stream *
-bgp_packet_dup (struct stream *s)
-{
-  struct stream *new;
-
-  new = stream_new (stream_get_endp (s));
-
-  new->endp = s->endp;
-  new->getp = s->getp;
-
-  memcpy (new->data, s->data, stream_get_endp (s));
-
-  return new;
-}
-
 /* Check file descriptor whether connect is established. */
 static void
 bgp_connect_check (struct peer *peer)
@@ -232,7 +216,7 @@
   if (! stream_empty (s))
     {
       bgp_packet_set_size (s);
-      packet = bgp_packet_dup (s);
+      packet = stream_dup (s);
       bgp_packet_add (peer, packet);
       BGP_WRITE_ON (peer->t_write, bgp_write, peer->fd);
       stream_reset (s);
@@ -279,7 +263,7 @@
     }
 
   bgp_packet_set_size (s);
-  packet = bgp_packet_dup (s);
+  packet = stream_dup (s);
   bgp_packet_add (peer, packet);
   stream_free (s);
   return packet;
@@ -359,7 +343,7 @@
 	  stream_putw (s, 0);
 	}
       bgp_packet_set_size (s);
-      packet = bgp_packet_dup (s);
+      packet = stream_dup (s);
       bgp_packet_add (peer, packet);
       stream_reset (s);
       return packet;
@@ -423,7 +407,7 @@
   /* Set size. */
   bgp_packet_set_size (s);
 
-  packet = bgp_packet_dup (s);
+  packet = stream_dup (s);
   stream_free (s);
 
   /* Dump packet if debug option is set. */
@@ -502,7 +486,7 @@
 
   bgp_packet_set_size (s);
 
-  packet = bgp_packet_dup (s);
+  packet = stream_dup (s);
   stream_free (s);
 
   /* Add packet to the peer. */
@@ -1056,7 +1040,7 @@
     }
 
   /* Make real packet. */
-  packet = bgp_packet_dup (s);
+  packet = stream_dup (s);
   stream_free (s);
 
   /* Add packet to the peer. */
@@ -1103,7 +1087,7 @@
   length = bgp_packet_set_size (s);
 
   /* Make real packet. */
-  packet = bgp_packet_dup (s);
+  packet = stream_dup (s);
   stream_free (s);
 
   /* Add packet to the peer. */
