diff --git a/protocols/bgp/packet/community.go b/protocols/bgp/packet/community.go
index e00ae204898511c50788a4654b734ac9547e158d..5fd0f29a3bb95c685de17e5bab067151dc03e13c 100644
--- a/protocols/bgp/packet/community.go
+++ b/protocols/bgp/packet/community.go
@@ -31,7 +31,7 @@ func ParseCommunityString(s string) (uint32, error) {
 	if err != nil {
 		return 0, err
 	}
-	e2 := uint16(v)
+	e2 := uint32(v)
 
-	return e1<<16 + uint32(e2), nil
+	return e1<<16 + e2, nil
 }