diff --git a/src/main/java/com/intel/jndn/utils/server/SegmentedServerHelper.java b/src/main/java/com/intel/jndn/utils/server/SegmentedServerHelper.java
index 2169192..fe518a1 100644
--- a/src/main/java/com/intel/jndn/utils/server/SegmentedServerHelper.java
+++ b/src/main/java/com/intel/jndn/utils/server/SegmentedServerHelper.java
@@ -58,15 +58,16 @@
     List<Data> segments = new ArrayList<>();
     byte[] buffer_ = readAll(bytes);
     ByteBuffer buffer = ByteBuffer.wrap(buffer_, 0, buffer_.length);
-    int end = (int) Math.floor(buffer_.length / segmentSize);
+    int end = Math.max((int) Math.floor(buffer_.length / segmentSize), 1);
     Name.Component lastSegment = Name.Component.fromNumberWithMarker(end, 0x00);
-    for (int i = 0; i <= end; i++) {
+    for (int i = 0; i < end; i++) {
       Data segment = new Data(template);
       segment.getName().appendSegment(i);
       segment.getMetaInfo().setFinalBlockId(lastSegment);
       byte[] content = new byte[segmentSize];
-      buffer.get(content, i * segmentSize, segmentSize);
+      buffer.get(content);
       segment.setContent(new Blob(content));
+      segments.add(segment);
     }
     return segments;
   }
