diff --git a/sys/net/routing/aodvv2/utils.c b/sys/net/routing/aodvv2/utils.c
index 55be6e8c141f63fe369f6969100ee33aaf6d1819..1f66748bc554799aeb17cddb7c9d2de2a0956ac7 100644
--- a/sys/net/routing/aodvv2/utils.c
+++ b/sys/net/routing/aodvv2/utils.c
@@ -117,7 +117,7 @@ bool rreqtable_is_redundant(struct aodvv2_packet_data *packet_data)
 {
     struct aodvv2_rreq_entry *comparable_rreq;
     timex_t now;
-    bool result;
+    bool result = false;
 
     mutex_lock(&rreqt_mutex);
     comparable_rreq = _get_comparable_rreq(packet_data);
@@ -125,7 +125,6 @@ bool rreqtable_is_redundant(struct aodvv2_packet_data *packet_data)
     /* if there is no comparable rreq stored, add one and return false */
     if (comparable_rreq == NULL) {
         _add_rreq(packet_data);
-        result = false;
     }
     else {
         int seqnum_comparison = seqnum_cmp(packet_data->origNode.seqnum, comparable_rreq->seqnum);
@@ -140,8 +139,9 @@ bool rreqtable_is_redundant(struct aodvv2_packet_data *packet_data)
         }
 
         if (seqnum_comparison == 1) {
-            /* Update RREQ table entry with new seqnum value */
+            /* Update RREQ table entry with new seqnum and metric value */
             comparable_rreq->seqnum = packet_data->origNode.seqnum;
+            comparable_rreq->metric = packet_data->origNode.metric;
         }
 
         /*
@@ -159,7 +159,6 @@ bool rreqtable_is_redundant(struct aodvv2_packet_data *packet_data)
         /* Since we've changed RREQ info, update the timestamp */
         vtimer_now(&now);
         comparable_rreq->timestamp = now;
-        result = true;
     }
 
     mutex_unlock(&rreqt_mutex);
diff --git a/sys/net/routing/aodvv2/utils.h b/sys/net/routing/aodvv2/utils.h
index 8baee0e1f98d871339bfb108bdd870abef3e4632..2c35190596ff36c4ef8ca68e1675b5f45a7d50a7 100644
--- a/sys/net/routing/aodvv2/utils.h
+++ b/sys/net/routing/aodvv2/utils.h
@@ -91,6 +91,7 @@ void rreqtable_init(void);
  * Check if a RREQ is redundant, i.e. was received from another node already.
  * Behaves as described in Sections 5.7. and 7.6.
  * @param packet_data  data of the RREQ in question
+ * @return             true if packet_data is redundant, false otherwise.
  */
 bool rreqtable_is_redundant(struct aodvv2_packet_data *packet_data);