diff --git a/doc/api/nmo-replicate-from.md b/doc/api/nmo-replicate-from.md
index f4fc7eb..126e28a 100644
--- a/doc/api/nmo-replicate-from.md
+++ b/doc/api/nmo-replicate-from.md
@@ -1,9 +1,9 @@
-nmo-replicateFrom(3) -- replicate-from
+nmo-replicatefrom(3) -- replicate-from
 ==============================
 
 ## SYNOPSIS
 
-    nmo.commands.replicateFrom([<clusterurl> || <cluster>], database, url)
+    nmo.commands.replicatefrom([<clusterurl> || <cluster>], database, url)
 
 
 ## DESCRIPTION
diff --git a/doc/api/replicate-to.md b/doc/api/replicate-to.md
index 248ad14..41b3dee 100644
--- a/doc/api/replicate-to.md
+++ b/doc/api/replicate-to.md
@@ -1,9 +1,9 @@
-nmo-replicateTo(3) -- replicate-to
+nmo-replicateto(3) -- replicate-to
 ==============================
 
 ## SYNOPSIS
 
-    nmo.commands.replicateTo([<clusterurl> || <cluster>], database, url)
+    nmo.commands.replicateto([<clusterurl> || <cluster>], database, url)
 
 
 ## DESCRIPTION
diff --git a/doc/cli/nmo-replicate-from.md b/doc/cli/nmo-replicate-from.md
index f5707b5..57fd903 100644
--- a/doc/cli/nmo-replicate-from.md
+++ b/doc/cli/nmo-replicate-from.md
@@ -21,4 +21,4 @@
     nmo replicate-from mycluster hello-database http://192.0.0.1/hello-database-replicated --create-target --continuous
 
 This will replicate the database `hello-database` from the url `http://my-couchdb-cluster.com` to the supplied url
-    nmo replicate-from http://my-couchdb-cluster hello-database http://192.0.0.1/hello-database-replicated
+    nmo replicate-from http://my-couchdb-cluster.com hello-database http://192.0.0.1/hello-database-replicated
diff --git a/doc/cli/replicate-to.md b/doc/cli/nmo-replicate-to.md
similarity index 91%
rename from doc/cli/replicate-to.md
rename to doc/cli/nmo-replicate-to.md
index 7dcaa3f..9549eb3 100644
--- a/doc/cli/replicate-to.md
+++ b/doc/cli/nmo-replicate-to.md
@@ -21,4 +21,4 @@
     nmo replicate-to mycluster hello-database-replicated http://192.0.0.1/hello-database --create-target --continuous
 
 This will replicate the database `hello-database` to the url `http://my-couchdb-cluster.com` from the supplied url
-    nmo replicate-from http://my-couchdb-cluster hello-database-replicated http://192.0.0.1/hello-database
+    nmo replicate-to http://my-couchdb-cluster hello-database-replicated http://192.0.0.1/hello-database
diff --git a/src/replicate-to.js b/src/replicate-to.js
index 3841c0d..a58f97b 100644
--- a/src/replicate-to.js
+++ b/src/replicate-to.js
@@ -19,7 +19,7 @@
       return reject(err);
     }
 
-    replicateTo(cluster, dbname, url)
+    replicateto(cluster, dbname, url)
     .then(resp => {
       console.log('Replication started.');
       resolve(resp);
@@ -31,7 +31,7 @@
   });
 }
 
-export default function replicateTo(cluster, dbname, url) {
+export default function replicateto(cluster, dbname, url) {
   return new Promise((resolve, reject) => {
     const clusterUrl = getUrlFromCluster(cluster);
     const replicatorUrl = clusterUrl + '/_replicator';
diff --git a/test/replicate-from.js b/test/replicate-from.js
index 2f33a0e..f0e24a7 100644
--- a/test/replicate-from.js
+++ b/test/replicate-from.js
@@ -1,7 +1,7 @@
 import assert from 'assert';
 import Lab from 'lab';
 
-import replicateFrom, {cli } from '../src/replicate-from.js';
+import { cli } from '../src/replicate-from.js';
 
 import * as common from './common.js';
 import nmo from '../src/nmo.js';
diff --git a/test/replicate-to.js b/test/replicate-to.js
index aac29d3..6cfee18 100644
--- a/test/replicate-to.js
+++ b/test/replicate-to.js
@@ -1,7 +1,7 @@
 import assert from 'assert';
 import Lab from 'lab';
 
-import replicateTo, {cli } from '../src/replicate-to.js';
+import { cli } from '../src/replicate-to.js';
 
 import * as common from './common.js';
 import nmo from '../src/nmo.js';
@@ -14,7 +14,7 @@
 
 common.createConfigFile();
 
-lab.experiment('replicate-from', () => {
+lab.experiment('replicate-to', () => {
 
   lab.experiment('cli', () => {
     lab.beforeEach((done) => {
