diff --git a/repo/fsrepo/fsrepo.go b/repo/fsrepo/fsrepo.go
index 446458a374062285dd65ba236ab0bf84934a0596..9c47b166011eb3235f5ec93525f778cf2dcbd559 100644
--- a/repo/fsrepo/fsrepo.go
+++ b/repo/fsrepo/fsrepo.go
@@ -52,7 +52,7 @@ type NoRepoError struct {
 var _ error = NoRepoError{}
 
 func (err NoRepoError) Error() string {
-	return fmt.Sprintf("no ipfs repo found in '%s'. please run: ipfs init ", err.Path)
+	return fmt.Sprintf("no ipfs repo found in %s. please run: ipfs init", err.Path)
 }
 
 const (
diff --git a/test/sharness/t0020-init.sh b/test/sharness/t0020-init.sh
index 6ca20af0aa714ac11209bcfd10d50a60a57a017b..331fb78127f9e1769c1b960f059373dbfc33c972 100755
--- a/test/sharness/t0020-init.sh
+++ b/test/sharness/t0020-init.sh
@@ -21,9 +21,22 @@ test_expect_success "ipfs init fails" '
 
 test_expect_success "ipfs init output looks good" '
 	echo "Error: failed to take lock at $IPFS_PATH: permission denied" > init_fail_exp &&
-	test_cmp init_fail_out init_fail_exp
+	test_cmp init_fail_exp init_fail_out
 '
 
+# test no repo error message
+# this applies to `ipfs add sth`, `ipfs refs <hash>`
+test_expect_success "ipfs cat fails" '
+    export IPFS_PATH="$(pwd)/.ipfs" &&
+    test_must_fail ipfs cat Qmaa4Rw81a3a1VEx4LxB7HADUAXvZFhCoRdBzsMZyZmqHD 2> cat_fail_out
+'
+
+test_expect_success "ipfs cat no repo message looks good" '
+    echo "Error: no ipfs repo found in $IPFS_PATH. please run: ipfs init" > cat_fail_exp &&
+    test_cmp cat_fail_exp cat_fail_out
+'
+
+# test that init succeeds
 test_expect_success "ipfs init succeeds" '
 	export IPFS_PATH="$(pwd)/.ipfs" &&
 	BITS="2048" &&