diff --git a/src/interfaces/ecpg/preproc/ecpg.addons b/src/interfaces/ecpg/preproc/ecpg.addons
index aae3cc9d92d18fde7a6fc32dcc05f5781b89eb32..d8147cf43cbe4c3c608d8fbc67702a74a57a83c5 100644
--- a/src/interfaces/ecpg/preproc/ecpg.addons
+++ b/src/interfaces/ecpg/preproc/ecpg.addons
@@ -193,15 +193,9 @@ ECPG: where_or_current_clauseWHERECURRENT_POFcursor_name block
 		$$ = cat_str(2,mm_strdup("where current of"), cursor_marker);
 	}
 ECPG: CopyStmtCOPYopt_binaryqualified_nameopt_column_listopt_oidscopy_fromcopy_file_namecopy_delimiteropt_withcopy_options addon
-			if (strcmp($6, "to") == 0 && strcmp($7, "stdin") == 0)
-				mmerror(PARSE_ERROR, ET_ERROR, "COPY TO STDIN is not possible");
-			else if (strcmp($6, "from") == 0 && strcmp($7, "stdout") == 0)
-				mmerror(PARSE_ERROR, ET_ERROR, "COPY FROM STDOUT is not possible");
-			else if (strcmp($6, "from") == 0 && strcmp($7, "stdin") == 0)
+			if (strcmp($6, "from") == 0 &&
+			   (strcmp($7, "stdin") == 0 || strcmp($7, "stdout") == 0))
 				mmerror(PARSE_ERROR, ET_WARNING, "COPY FROM STDIN is not implemented");
-ECPG: CopyStmtCOPYselect_with_parensTOcopy_file_nameopt_withcopy_options addon
-			if (strcmp($4, "stdin") == 0)
-				mmerror(PARSE_ERROR, ET_ERROR, "COPY TO STDIN is not possible");
 ECPG: var_valueNumericOnly addon
 		if ($1[0] == '$')
 		{