diff --git a/apps/test/distributed-primitives/src/main/java/org/onosproject/distributedprimitives/cli/TransactionalMapTestGetCommand.java b/apps/test/distributed-primitives/src/main/java/org/onosproject/distributedprimitives/cli/TransactionalMapTestGetCommand.java
index eaaeefc..9fd7a7a 100644
--- a/apps/test/distributed-primitives/src/main/java/org/onosproject/distributedprimitives/cli/TransactionalMapTestGetCommand.java
+++ b/apps/test/distributed-primitives/src/main/java/org/onosproject/distributedprimitives/cli/TransactionalMapTestGetCommand.java
@@ -17,7 +17,6 @@
 
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
-import org.apache.karaf.shell.commands.Option;
 import org.onosproject.cli.AbstractShellCommand;
 import org.onosproject.store.serializers.KryoNamespaces;
 import org.onosproject.store.service.Serializer;
@@ -32,10 +31,6 @@
         description = "Get a value associated with a specific key in a transactional map")
 public class TransactionalMapTestGetCommand extends AbstractShellCommand {
 
-    @Option(name = "-i", aliases = "--inMemory", description = "use in memory map?",
-            required = false, multiValued = false)
-    private boolean inMemory = false;
-
     @Argument(index = 0, name = "key",
             description = "Key to get the value of",
             required = true, multiValued = false)
@@ -49,11 +44,7 @@
     protected void execute() {
         StorageService storageService = get(StorageService.class);
         TransactionContext context;
-        if (inMemory) {
-            context = storageService.transactionContextBuilder().withPartitionsDisabled().build();
-        } else {
-            context = storageService.transactionContextBuilder().build();
-        }
+        context = storageService.transactionContextBuilder().build();
         context.begin();
         try {
             map = context.getTransactionalMap(mapName, serializer);
