diff --git a/sys/net/network_layer/ng_ipv6/hdr/ng_ipv6_hdr.c b/sys/net/network_layer/ng_ipv6/hdr/ng_ipv6_hdr.c
index 9804b72308deeaa56da9f008ff18704fd234b61a..197eb6391d7edfe7d715e711f18371d15f33530d 100644
--- a/sys/net/network_layer/ng_ipv6/hdr/ng_ipv6_hdr.c
+++ b/sys/net/network_layer/ng_ipv6/hdr/ng_ipv6_hdr.c
@@ -63,6 +63,10 @@ ng_pktsnip_t *ng_ipv6_hdr_build(ng_pktsnip_t *payload,
 #endif
         memcpy(&hdr->src, src, src_len);
     }
+    else {
+        DEBUG("ipv6_hdr: set packet source to ::\n");
+        ng_ipv6_addr_set_unspecified(&hdr->src);
+    }
 
     memset(&hdr->dst + dst_len, 0, sizeof(ng_ipv6_addr_t) - dst_len);
 
@@ -74,6 +78,10 @@ ng_pktsnip_t *ng_ipv6_hdr_build(ng_pktsnip_t *payload,
 #endif
         memcpy(&hdr->dst, dst, dst_len);
     }
+    else {
+        DEBUG("ipv6_hdr: set packet destination to ::1\n");
+        ng_ipv6_addr_set_loopback(&hdr->dst);
+    }
 
     hdr->v_tc_fl = byteorder_htonl(0x60000000); /* set version, tc and fl in one go*/
     hdr->nh = NG_PROTNUM_RESERVED;