diff --git a/protocols/bgp/packet/path_attributes.go b/protocols/bgp/packet/path_attributes.go
index 0390b6617944b5ea1933b542b97c29ac069c52c6..45451c5d9791ad4b3ee4ae093b3a60e09317b005 100644
--- a/protocols/bgp/packet/path_attributes.go
+++ b/protocols/bgp/packet/path_attributes.go
@@ -6,6 +6,7 @@ import (
 	"strconv"
 	"strings"
 
+	"github.com/sirupsen/logrus"
 	"github.com/taktv6/tflow2/convert"
 )
 
@@ -19,10 +20,11 @@ func decodePathAttrs(buf *bytes.Buffer, tpal uint16) (*PathAttribute, error) {
 	p := uint16(0)
 	for p < tpal {
 		pa, consumed, err = decodePathAttr(buf)
+		p += consumed
 		if err != nil {
-			return nil, fmt.Errorf("Unable to decode path attr: %v", err)
+			logrus.Errorf("Unable to decode path attr: %v", err)
+			continue
 		}
-		p += consumed
 
 		if ret == nil {
 			ret = pa