diff --git a/core/net/src/main/java/org/onosproject/core/impl/BlockAllocatorBasedIdGenerator.java b/core/net/src/main/java/org/onosproject/core/impl/BlockAllocatorBasedIdGenerator.java
index d48c0d6..267cd71 100644
--- a/core/net/src/main/java/org/onosproject/core/impl/BlockAllocatorBasedIdGenerator.java
+++ b/core/net/src/main/java/org/onosproject/core/impl/BlockAllocatorBasedIdGenerator.java
@@ -46,22 +46,20 @@
     @Override
     public long getNewId() {
         try {
+            if (!initialized.get()) {
+                synchronized (allocator) {
+                    if (!initialized.get()) {
+                        idBlock = allocator.allocateUniqueIdBlock();
+                        initialized.set(true);
+                    }
+                }
+            }
             return idBlock.getNextId();
         } catch (UnavailableIdException e) {
             synchronized (allocator) {
                 idBlock = allocator.allocateUniqueIdBlock();
             }
             return idBlock.getNextId();
-        } catch (NullPointerException e) {
-            synchronized (allocator) {
-                if (!initialized.get()) {
-                    idBlock = allocator.allocateUniqueIdBlock();
-                    initialized.set(true);
-                    return idBlock.getNextId();
-                } else {
-                    throw e;
-                }
-            }
         }
     }
 }
