diff --git a/core/api/src/main/java/org/onosproject/net/optical/OmsPort.java b/core/api/src/main/java/org/onosproject/net/optical/OmsPort.java
index a08ab5f..898fce9 100644
--- a/core/api/src/main/java/org/onosproject/net/optical/OmsPort.java
+++ b/core/api/src/main/java/org/onosproject/net/optical/OmsPort.java
@@ -37,7 +37,7 @@
      */
     default short totalChannels() {
         Frequency diff = maxFrequency().subtract(minFrequency());
-        return (short) (diff.asHz() / grid().asHz());
+        return (short) (diff.asHz() / grid().asHz() + 1);
     }
 
     /**
diff --git a/core/api/src/test/java/org/onosproject/net/optical/device/OmsPortHelperTest.java b/core/api/src/test/java/org/onosproject/net/optical/device/OmsPortHelperTest.java
index c8c68f4..6a309aa 100644
--- a/core/api/src/test/java/org/onosproject/net/optical/device/OmsPortHelperTest.java
+++ b/core/api/src/test/java/org/onosproject/net/optical/device/OmsPortHelperTest.java
@@ -91,7 +91,7 @@
         assertThat(oms.maxFrequency(), is(maxF));
         assertThat(oms.minFrequency(), is(minF));
         assertThat(oms.grid(), is(grid));
-        assertThat("(33-3)/2 = 15", oms.totalChannels(), is((short) 15));
+        assertThat("((33-3)/2)+1 = 16", oms.totalChannels(), is((short) 16));
     }
 
 }
diff --git a/core/api/src/test/java/org/onosproject/net/optical/impl/DefaultOmsPortTest.java b/core/api/src/test/java/org/onosproject/net/optical/impl/DefaultOmsPortTest.java
index 4f32afc..a09d5ec 100644
--- a/core/api/src/test/java/org/onosproject/net/optical/impl/DefaultOmsPortTest.java
+++ b/core/api/src/test/java/org/onosproject/net/optical/impl/DefaultOmsPortTest.java
@@ -115,7 +115,7 @@
         assertThat(oms.maxFrequency(), is(maxFrequency));
         assertThat(oms.minFrequency(), is(minFrequency));
         assertThat(oms.grid(), is(grid));
-        assertThat("(33-3)/2 = 15", oms.totalChannels(), is((short) 15));
+        assertThat("((33-3)/2)+1 = 16", oms.totalChannels(), is((short) 16));
     }
 
 }
