Index: server/storage/src/main/java/org/apache/karaf/cave/server/storage/CaveRepositoryServiceImpl.java
===================================================================
--- server/storage/src/main/java/org/apache/karaf/cave/server/storage/CaveRepositoryServiceImpl.java	(revision 1194884)
+++ server/storage/src/main/java/org/apache/karaf/cave/server/storage/CaveRepositoryServiceImpl.java	(working copy)
@@ -90,7 +90,10 @@
     public synchronized void remove(String name) throws Exception {
         CaveRepository repository = this.getRepository(name);
         if (repository != null) {
+            repositoryAdmin.removeRepository(repository.getRepositoryXml().toString());
             repositories.remove(name);
+        } else {
+            throw new IllegalArgumentException("Cave repository " + name + " not found.");
         }
     }
 
@@ -103,7 +106,11 @@
      */
     public synchronized void register(String name) throws Exception {
         CaveRepository caveRepository = this.getRepository(name);
-        repositoryAdmin.addRepository(caveRepository.getRepositoryXml());
+        if (caveRepository != null) {
+            repositoryAdmin.addRepository(caveRepository.getRepositoryXml());
+        } else {
+            throw new IllegalArgumentException("Cave repository " + name + " not found.");
+        }
     }
 
     /**
Index: server/command/src/main/java/org/apache/karaf/cave/server/command/CreateRepositoryCommand.java
===================================================================
--- server/command/src/main/java/org/apache/karaf/cave/server/command/CreateRepositoryCommand.java	(revision 1194884)
+++ server/command/src/main/java/org/apache/karaf/cave/server/command/CreateRepositoryCommand.java	(working copy)
@@ -30,10 +30,10 @@
     @Option(name = "-l", aliases = {"--location"}, description = "Location of the new Cave Repository on the file system", required = false, multiValued = false)
     String location;
 
-    @Option(name = "-nu", aliases = {"--no-update"}, description = "Disable the OBR metadata generation at creation time", required = false, multiValued = false)
+    @Option(name = "-nu", aliases = {"--no-update"}, description = "Omit generating OBR metadata during creation", required = false, multiValued = false)
     boolean noUpdate = false;
 
-    @Option(name = "-nr", aliases = {"--no-register"}, description = "Disable the registration of this Cave Repository in the OBR service", required = false, multiValued = false)
+    @Option(name = "-nr", aliases = {"--no-register"}, description = "Do not register the Cave Repository within the OBR service", required = false, multiValued = false)
     boolean noRegister = false;
 
     @Argument(index = 0, name = "name", description = "The name of the Cave Repository", required = true, multiValued = false)
Index: server/command/src/main/java/org/apache/karaf/cave/server/command/RemoveRepositoryCommand.java
===================================================================
--- server/command/src/main/java/org/apache/karaf/cave/server/command/RemoveRepositoryCommand.java	(revision 1194884)
+++ server/command/src/main/java/org/apache/karaf/cave/server/command/RemoveRepositoryCommand.java	(working copy)
@@ -17,10 +17,12 @@
 package org.apache.karaf.cave.server.command;
 
 import org.apache.felix.gogo.commands.Argument;
+import org.apache.felix.gogo.commands.Command;
 
 /**
  * Remove a Karaf Cave repository from the repositories registry.
  */
+@Command(scope = "cave", name = "remove-repository", description = "Remove a Karaf Cave repository from the Cave repository list")
 public class RemoveRepositoryCommand extends CaveRepositoryCommandSupport {
 
     @Argument(index = 0, name = "name", description = "The Karaf Cave repository name", required = true, multiValued = false)
