diff --git a/core/net/src/main/java/org/onosproject/net/pi/impl/PiFlowRuleTranslator.java b/core/net/src/main/java/org/onosproject/net/pi/impl/PiFlowRuleTranslator.java
index a0b76e3..8d8d3c1 100644
--- a/core/net/src/main/java/org/onosproject/net/pi/impl/PiFlowRuleTranslator.java
+++ b/core/net/src/main/java/org/onosproject/net/pi/impl/PiFlowRuleTranslator.java
@@ -68,6 +68,7 @@
  */
 final class PiFlowRuleTranslator {
 
+    public static final int MAX_PI_PRIORITY = (int) Math.pow(2, 24);
     private static final Logger log = LoggerFactory.getLogger(PiFlowRuleTranslationServiceImpl.class);
 
     private PiFlowRuleTranslator() {
@@ -129,10 +130,17 @@
 
         PiTableEntry.Builder tableEntryBuilder = PiTableEntry.builder();
 
-        // In BMv2 0 is the highest priority.
-        // TODO: Move priority change to P4runtimeClient, in the table entry encode phase.
-        // Similarly, original priority should be re-established in the decode phase.
-        int newPriority = Integer.MAX_VALUE - rule.priority();
+        // In the P4 world 0 is the highest priority, in ONOS the lowest one.
+        // FIXME: move priority conversion to the driver, where different constraints might apply
+        // e.g. less bits for encoding priority in TCAM-based implementations.
+        int newPriority;
+        if (rule.priority() > MAX_PI_PRIORITY) {
+            log.warn("Flow rule priority too big, setting translated priority to max value {}: {}",
+                     MAX_PI_PRIORITY, rule);
+            newPriority = 0;
+        } else {
+            newPriority = MAX_PI_PRIORITY - rule.priority();
+        }
 
         tableEntryBuilder
                 .forTable(piTableId)
