diff --git a/src/seq/seq_if.c b/src/seq/seq_if.c
index 03e4fdf0752d33788ea8dd858c9d5ccf0d252f31..71c62bffafb52ea70a4b5930fb9a6c1e7a0ecb8b 100644
--- a/src/seq/seq_if.c
+++ b/src/seq/seq_if.c
@@ -97,7 +97,7 @@ epicsShareFunc pvStat seq_pvGet(SS_ID ss, VAR_ID varId, enum compType compType)
 		{
 		case epicsEventWaitOK:
 			status = check_connected(dbch, meta);
-			if (status) return epicsEventSignal(getSem), status;
+			if (status != pvStatOK) return epicsEventSignal(getSem), status;
 			pvTimeGetCurrentDouble(&after);
 			tmo -= (after - before);
 			break;
@@ -129,7 +129,7 @@ epicsShareFunc pvStat seq_pvGet(SS_ID ss, VAR_ID varId, enum compType compType)
 				ss->getReq[varId] = NULL;
 			}
 			status = check_connected(dbch, meta);
-			if (status) return epicsEventSignal(getSem), status;
+			if (status != pvStatOK) return epicsEventSignal(getSem), status;
 			break;
 		case epicsEventWaitTimeout:
 			errlogSevPrintf(errlogMajor,
@@ -191,7 +191,7 @@ epicsShareFunc pvStat seq_pvGet(SS_ID ss, VAR_ID varId, enum compType compType)
 		{
 		case epicsEventWaitOK:
 			status = check_connected(dbch, meta);
-			if (status) return status;
+			if (status != pvStatOK) return status;
 			if (optTest(sp, OPT_SAFE))
 				/* Copy regardless of whether dirty flag is set or not */
 				ss_read_buffer(ss, ch, FALSE);
@@ -258,7 +258,7 @@ epicsShareFunc boolean seq_pvGetComplete(
 				ss->getReq[varId] = NULL;
 				epicsEventSignal(getSem);
 				status = check_connected(ch->dbch, metaPtr(ch,ss));
-				if (!status && optTest(sp, OPT_SAFE))
+				if (status == pvStatOK && optTest(sp, OPT_SAFE))
 				{
 					/* In safe mode, copy value and meta data from shared buffer
 					   to ss local buffer. */
@@ -393,7 +393,7 @@ epicsShareFunc pvStat seq_pvPut(SS_ID ss, VAR_ID varId, enum compType compType)
 
 	/* Check for channel connected */
 	status = check_connected(dbch, meta);
-	if (status) return status;
+	if (status != pvStatOK) return status;
 
 	/* Determine whether to perform synchronous, asynchronous, or
 	   plain put ((+a) option was never honored for put, so DEFAULT
@@ -519,7 +519,7 @@ epicsShareFunc pvStat seq_pvPut(SS_ID ss, VAR_ID varId, enum compType compType)
 		{
 		case epicsEventWaitOK:
 			status = check_connected(dbch, meta);
-			if (status) return status;
+			if (status != pvStatOK) return status;
 			break;
 		case epicsEventWaitTimeout:
 			meta->status = pvStatTIMEOUT;