diff --git a/app/src/main/java/org/opencord/olt/impl/Olt.java b/app/src/main/java/org/opencord/olt/impl/Olt.java
index 000d5e6..0489f03 100644
--- a/app/src/main/java/org/opencord/olt/impl/Olt.java
+++ b/app/src/main/java/org/opencord/olt/impl/Olt.java
@@ -686,6 +686,10 @@
                 log.warn("Meter installation error while sending upstream flows. " +
                                  "Result {} and MeterId {}", result, upstreamMeterId);
             }
+        }).exceptionally(ex -> {
+            log.error("Upstream flow failed: " + ex.getMessage());
+            upFuture.complete(ObjectiveError.UNKNOWN);
+            return null;
         });
 
         downsteamMeterFuture.thenAcceptAsync(result -> {
@@ -719,6 +723,10 @@
                 log.warn("Meter installation error while sending upstream flows. " +
                                  "Result {} and MeterId {}", result, downstreamMeterId);
             }
+        }).exceptionally(ex -> {
+            log.error("Downstream flow failed: " + ex.getMessage());
+            downFuture.complete(ObjectiveError.UNKNOWN);
+            return null;
         });
 
         upFuture.thenAcceptBothAsync(downFuture, (upStatus, downStatus) -> {
diff --git a/app/src/main/java/org/opencord/olt/impl/OltFlowService.java b/app/src/main/java/org/opencord/olt/impl/OltFlowService.java
index af8ba4a..8e6ad0a 100644
--- a/app/src/main/java/org/opencord/olt/impl/OltFlowService.java
+++ b/app/src/main/java/org/opencord/olt/impl/OltFlowService.java
@@ -97,7 +97,6 @@
     private static final String REMOVAL = "removal";
     private static final String V4 = "V4";
     private static final String V6 = "V6";
-    private static final String NO_MAC = "A4:23:05:00:00:00";
 
     private final Logger log = getLogger(getClass());
 
@@ -614,7 +613,8 @@
         }
 
         if (tagInformation.getConfiguredMacAddress() != null &&
-                !NO_MAC.equals(tagInformation.getConfiguredMacAddress())) {
+                !tagInformation.getConfiguredMacAddress().equals("") &&
+                !MacAddress.NONE.equals(MacAddress.valueOf(tagInformation.getConfiguredMacAddress()))) {
             selectorBuilder.matchEthDst(MacAddress.valueOf(tagInformation.getConfiguredMacAddress()));
         }
 
