diff --git a/mediachanger/castorrmc/h/rmc.h b/mediachanger/castorrmc/h/rmc.h
index 4b5bd926fc8694a9aee1edcf7197c522e5187873..0335b861cdb81a9ef0e6c02c53fccbc5def4794f 100644
--- a/mediachanger/castorrmc/h/rmc.h
+++ b/mediachanger/castorrmc/h/rmc.h
@@ -23,10 +23,4 @@
 
 int rmclogit(const char *const func, const char *const msg, ...);
 
-#define RETURN(x) \
-	{ \
-	rmclogit (func, "returns %d\n", (x)); \
-	return ((x)); \
-	}
-
 #endif
diff --git a/mediachanger/castorrmc/rmc/rmc_procreq.c b/mediachanger/castorrmc/rmc/rmc_procreq.c
index 62c76a00b57d80d68d65b5911033f746029f967f..66ca4c08fd485def4ad64f321a7b7dfb47511e53 100644
--- a/mediachanger/castorrmc/rmc/rmc_procreq.c
+++ b/mediachanger/castorrmc/rmc/rmc_procreq.c
@@ -121,24 +121,28 @@ int rmc_srv_export(
 		char smc_ldr[CA_MAXRBTNAMELEN+1];
 		if (unmarshall_STRINGN (rbp, smc_ldr, CA_MAXRBTNAMELEN+1)) {
 			rmc_sendrep (rpfd, MSG_ERR, RMC06, "loader");
-			RETURN (ERMCUNREC);
+			rmclogit (func, "returns %d\n", ERMCUNREC);
+			return ERMCUNREC;
 		}
 	}
 	if (unmarshall_STRINGN (rbp, vid, CA_MAXVIDLEN+1)) {
 		rmc_sendrep (rpfd, MSG_ERR, RMC06, "vid");
-		RETURN (ERMCUNREC);
+		rmclogit (func, "returns %d\n", ERMCUNREC);
+		return ERMCUNREC;
 	}
 	snprintf (logbuf, CA_MAXVIDLEN+8, "export %s", vid);
 	rmc_logreq (func, logbuf);
 
 	if (Cupv_check (uid, gid, clienthost, localhost, P_TAPE_OPERATOR)) {
 		rmc_sendrep (rpfd, MSG_ERR, "%s\n", sstrerror(serrno));
-		RETURN (ERMCUNREC);
+		rmclogit (func, "returns %d\n", ERMCUNREC);
+		return ERMCUNREC;
 	}
 	c = smc_export (rpfd, extended_robot_info.smc_fd,
           extended_robot_info.smc_ldr, &extended_robot_info.robot_info, vid);
 	if (c) c += ERMCRBTERR;
-	RETURN (c);
+	rmclogit (func, "returns %d\n", c);
+	return c;
 }
 
 /*	rmc_srv_findcart - find cartridge(s) */
@@ -182,12 +186,14 @@ int rmc_srv_findcart(
 		char smc_ldr[CA_MAXRBTNAMELEN+1];
 		if (unmarshall_STRINGN (rbp, smc_ldr, CA_MAXRBTNAMELEN+1)) {
 			rmc_sendrep (rpfd, MSG_ERR, RMC06, "loader");
-			RETURN (ERMCUNREC);
+			rmclogit (func, "returns %d\n", ERMCUNREC);
+			return ERMCUNREC;
 		}
 	}
 	if (unmarshall_STRINGN (rbp, template, 40)) {
 		rmc_sendrep (rpfd, MSG_ERR, RMC06, "template");
-		RETURN (ERMCUNREC);
+		rmclogit (func, "returns %d\n", ERMCUNREC);
+		return ERMCUNREC;
 	}
 	unmarshall_LONG (rbp, type);
 	unmarshall_LONG (rbp, startaddr);
@@ -197,11 +203,13 @@ int rmc_srv_findcart(
 
 	if (nbelem < 1) {
 		rmc_sendrep (rpfd, MSG_ERR, RMC06, "nbelem");
-		RETURN (ERMCUNREC);
+		rmclogit (func, "returns %d\n", ERMCUNREC);
+		return ERMCUNREC;
 	}
 	if ((element_info = malloc (nbelem * sizeof(struct smc_element_info))) == NULL) {
 		rmc_sendrep (rpfd, MSG_ERR, RMC05);
-		RETURN (ERMCUNREC);
+		rmclogit (func, "returns %d\n", ERMCUNREC);
+		return ERMCUNREC;
 	}
 	if (extended_robot_info.smc_support_voltag)
 		c = smc_find_cartridge (extended_robot_info.smc_fd,
@@ -216,12 +224,14 @@ int rmc_srv_findcart(
 		free (element_info);
 		rmc_sendrep (rpfd, MSG_ERR, RMC02, "smc_find_cartridge", msgaddr);
 		c += ERMCRBTERR;
-		RETURN (c);
+		rmclogit (func, "returns %d\n", c);
+		return c;
 	}
 	if ((repbuf = malloc (c * 18 + 4)) == NULL) {
 		rmc_sendrep (rpfd, MSG_ERR, RMC05);
 		free (element_info);
-		RETURN (ERMCUNREC);
+		rmclogit (func, "returns %d\n", ERMCUNREC);
+		return ERMCUNREC;
 	}
 	sbp = repbuf;
 	marshall_LONG (sbp, c);
@@ -230,7 +240,8 @@ int rmc_srv_findcart(
 	free (element_info);
 	rmc_sendrep (rpfd, MSG_DATA, sbp - repbuf, repbuf);
 	free (repbuf);
-	RETURN (0);
+	rmclogit (func, "returns %d\n", 0);
+	return 0;
 }
 
 /*	rmc_srv_getgeom - get the robot geometry */
@@ -264,7 +275,8 @@ int rmc_srv_getgeom(
 		char smc_ldr[CA_MAXRBTNAMELEN+1];
 		if (unmarshall_STRINGN (rbp, smc_ldr, CA_MAXRBTNAMELEN+1)) {
 			rmc_sendrep (rpfd, MSG_ERR, RMC06, "loader");
-			RETURN (ERMCUNREC);
+			rmclogit (func, "returns %d\n", ERMCUNREC);
+			return ERMCUNREC;
 		}
 	}
 	snprintf (logbuf, 8, "getgeom");
@@ -281,7 +293,8 @@ int rmc_srv_getgeom(
 	marshall_LONG (sbp, extended_robot_info.robot_info.device_start);
 	marshall_LONG (sbp, extended_robot_info.robot_info.device_count);
 	rmc_sendrep (rpfd, MSG_DATA, sbp - repbuf, repbuf);
-	RETURN (0);
+	rmclogit (func, "returns %d\n", 0);
+	return 0;
 }
 
 /*	rmc_srv_import - import/inject a cartridge into the robot */
@@ -315,24 +328,28 @@ int rmc_srv_import(
 		char smc_ldr[CA_MAXRBTNAMELEN+1];
 		if (unmarshall_STRINGN (rbp, smc_ldr, CA_MAXRBTNAMELEN+1)) {
 			rmc_sendrep (rpfd, MSG_ERR, RMC06, "loader");
-			RETURN (ERMCUNREC);
+			rmclogit (func, "returns %d\n", ERMCUNREC);
+			return ERMCUNREC;
 		}
 	}
 	if (unmarshall_STRINGN (rbp, vid, CA_MAXVIDLEN+1)) {
 		rmc_sendrep (rpfd, MSG_ERR, RMC06, "vid");
-		RETURN (ERMCUNREC);
+		rmclogit (func, "returns %d\n", ERMCUNREC);
+		return ERMCUNREC;
 	}
 	snprintf (logbuf, CA_MAXVIDLEN+8, "import %s", vid);
 	rmc_logreq (func, logbuf);
 
 	if (Cupv_check (uid, gid, clienthost, localhost, P_TAPE_OPERATOR)) {
 		rmc_sendrep (rpfd, MSG_ERR, "%s\n", sstrerror(serrno));
-		RETURN (ERMCUNREC);
+		rmclogit (func, "returns %d\n", ERMCUNREC);
+		return ERMCUNREC;
 	}
 	c = smc_import (rpfd, extended_robot_info.smc_fd,
 	  extended_robot_info.smc_ldr, &extended_robot_info.robot_info, vid);
 	if (c) c += ERMCRBTERR;
-	RETURN (c);
+	rmclogit (func, "returns %d\n", c);
+	return c;
 }
 
 /*	rmc_srv_mount - mount a cartridge on a drive */
@@ -368,12 +385,14 @@ int rmc_srv_mount(
 		char smc_ldr[CA_MAXRBTNAMELEN+1];
 		if (unmarshall_STRINGN (rbp, smc_ldr, CA_MAXRBTNAMELEN+1)) {
 			rmc_sendrep (rpfd, MSG_ERR, RMC06, "loader");
-			RETURN (ERMCUNREC);
+			rmclogit (func, "returns %d\n", ERMCUNREC);
+			return ERMCUNREC;
 		}
 	}
 	if (unmarshall_STRINGN (rbp, vid, CA_MAXVIDLEN+1)) {
 		rmc_sendrep (rpfd, MSG_ERR, RMC06, "vid");
-		RETURN (ERMCUNREC);
+		rmclogit (func, "returns %d\n", ERMCUNREC);
+		return ERMCUNREC;
 	}
 	unmarshall_WORD (rbp, invert);
 	unmarshall_WORD (rbp, drvord);
@@ -382,13 +401,15 @@ int rmc_srv_mount(
 
 	if (Cupv_check (uid, gid, clienthost, localhost, P_TAPE_SYSTEM)) {
 		rmc_sendrep (rpfd, MSG_ERR, "%s\n", sstrerror(serrno));
-		RETURN (ERMCUNREC);
+		rmclogit (func, "returns %d\n", ERMCUNREC);
+		return ERMCUNREC;
 	}
 	c = smc_mount (rpfd, extended_robot_info.smc_fd,
 	  extended_robot_info.smc_ldr, &extended_robot_info.robot_info, drvord,
 	  vid, invert);
 	if (c) c += ERMCRBTERR;
-	RETURN (c);
+	rmclogit (func, "returns %d\n", c);
+	return c;
 }
 
 /*	rmc_srv_readelem - read element status */
@@ -431,7 +452,8 @@ int rmc_srv_readelem(
 		char smc_ldr[CA_MAXRBTNAMELEN+1];
 		if (unmarshall_STRINGN (rbp, smc_ldr, CA_MAXRBTNAMELEN+1)) {
 			rmc_sendrep (rpfd, MSG_ERR, RMC06, "loader");
-			RETURN (ERMCUNREC);
+			rmclogit (func, "returns %d\n", ERMCUNREC);
+			return ERMCUNREC;
 		}
 	}
 	unmarshall_LONG (rbp, type);
@@ -442,15 +464,18 @@ int rmc_srv_readelem(
 
 	if (type < 0 || type > 4) {
 		rmc_sendrep (rpfd, MSG_ERR, RMC06, "type");
-		RETURN (ERMCUNREC);
+		rmclogit (func, "returns %d\n", ERMCUNREC);
+		return ERMCUNREC;
 	}
 	if (nbelem < 1) {
 		rmc_sendrep (rpfd, MSG_ERR, RMC06, "nbelem");
-		RETURN (ERMCUNREC);
+		rmclogit (func, "returns %d\n", ERMCUNREC);
+		return ERMCUNREC;
 	}
 	if ((element_info = malloc (nbelem * sizeof(struct smc_element_info))) == NULL) {
 		rmc_sendrep (rpfd, MSG_ERR, RMC05);
-		RETURN (ERMCUNREC);
+		rmclogit (func, "returns %d\n", ERMCUNREC);
+		return ERMCUNREC;
 	}
 	if ((c = smc_read_elem_status (extended_robot_info.smc_fd,
 	    extended_robot_info.smc_ldr, type, startaddr, nbelem,
@@ -459,12 +484,14 @@ int rmc_srv_readelem(
 		free (element_info);
 		rmc_sendrep (rpfd, MSG_ERR, RMC02, "smc_read_elem_status", msgaddr);
 		c += ERMCRBTERR;
-		RETURN (c);
+		rmclogit (func, "returns %d\n", c);
+		return c;
 	}
 	if ((repbuf = malloc (c * 18 + 4)) == NULL) {
 		rmc_sendrep (rpfd, MSG_ERR, RMC05);
 		free (element_info);
-		RETURN (ERMCUNREC);
+		rmclogit (func, "returns %d\n", ERMCUNREC);
+		return ERMCUNREC;
 	}
 	sbp = repbuf;
 	marshall_LONG (sbp, c);
@@ -473,7 +500,8 @@ int rmc_srv_readelem(
 	free (element_info);
 	rmc_sendrep (rpfd, MSG_DATA, sbp - repbuf, repbuf);
 	free (repbuf);
-	RETURN (0);
+	rmclogit (func, "returns %d\n", 0);
+	return 0;
 }
 
 /*	rmc_srv_unmount - dismount a cartridge from a drive */
@@ -509,12 +537,14 @@ int rmc_srv_unmount(
 		char smc_ldr[CA_MAXRBTNAMELEN+1];
 		if (unmarshall_STRINGN (rbp, smc_ldr, CA_MAXRBTNAMELEN+1)) {
 			rmc_sendrep (rpfd, MSG_ERR, RMC06, "loader");
-			RETURN (ERMCUNREC);
+			rmclogit (func, "returns %d\n", ERMCUNREC);
+			return ERMCUNREC;
 		}
 	}
 	if (unmarshall_STRINGN (rbp, vid, CA_MAXVIDLEN+1)) {
 		rmc_sendrep (rpfd, MSG_ERR, RMC06, "vid");
-		RETURN (ERMCUNREC);
+		rmclogit (func, "returns %d\n", ERMCUNREC);
+		return ERMCUNREC;
 	}
 	unmarshall_WORD (rbp, drvord);
 	unmarshall_WORD (rbp, force);
@@ -523,11 +553,13 @@ int rmc_srv_unmount(
 
 	if (Cupv_check (uid, gid, clienthost, localhost, P_TAPE_SYSTEM)) {
 		rmc_sendrep (rpfd, MSG_ERR, "%s\n", sstrerror(serrno));
-		RETURN (ERMCUNREC);
+		rmclogit (func, "returns %d\n", ERMCUNREC);
+		return ERMCUNREC;
 	}
 	c = smc_dismount (rpfd, extended_robot_info.smc_fd,
 	  extended_robot_info.smc_ldr, &extended_robot_info.robot_info, drvord,
 	  force == 0 ? vid : "");
 	if (c) c += ERMCRBTERR;
-	RETURN (c);
+	rmclogit (func, "returns %d\n", c);
+	return c;
 }