Index: uspace/app/bdsh/cmds/modules/cp/cp.c
===================================================================
--- uspace/app/bdsh/cmds/modules/cp/cp.c	(revision c3c56403688503c6117d80196b0ec43bfff388d4)
+++ uspace/app/bdsh/cmds/modules/cp/cp.c	(revision 4c4ddbe923f125d8dae99621981ab35bb07bb632)
@@ -106,4 +106,9 @@
 		if (-1 == (bytes = read(fd1, buff, blen)))
 			break;
+		/* We read a terminating NULL */
+		if (0 == bytes) {
+			copied ++;
+			break;
+		}
 		copied += bytes;
 		write(fd2, buff, blen);
@@ -148,5 +153,5 @@
 int cmd_cp(char **argv)
 {
-	unsigned int argc, buffer = CP_DEFAULT_BUFLEN, verbose = 0;
+	unsigned int argc, buffer = 0, verbose = 0;
 	int c, opt_ind;
 	int64_t ret;
@@ -177,7 +182,12 @@
 				return CMD_FAILURE;
 			}
+			if (verbose)
+				printf("Buffer = %d\n", buffer);
 			break;
 		}
 	}
+
+	if (buffer == 0)
+		buffer = CP_DEFAULT_BUFLEN;
 
 	argc -= optind;
@@ -192,5 +202,5 @@
 
 	if (verbose)
-		printf("%d bytes copied (buffer = %d)\n", ret, buffer);
+		printf("%d bytes copied\n", ret);
 
 	if (ret <= 0)
