diff --git a/apps/restconf/clixon_http1_parse.y b/apps/restconf/clixon_http1_parse.y
index dd337a28..3809ee24 100644
--- a/apps/restconf/clixon_http1_parse.y
+++ b/apps/restconf/clixon_http1_parse.y
@@ -206,7 +206,7 @@ http1_parse_header_field(clixon_http1_yacc *hy,
/* start-line *( header-field CRLF ) CRLF [ message-body ]
* start-line = request-line / status-line (only request-line here, ignore status-line)
*/
-http_message : request_line header_fields CRLF body
+http_message : request_line header_fields CRLF body X_EOF
{
if ($4) {
if (http1_body(_HY, $4) < 0) YYABORT;
diff --git a/test/test_perf_restconf.sh b/test/test_perf_restconf.sh
index 43bdbed1..7623de7b 100755
--- a/test/test_perf_restconf.sh
+++ b/test/test_perf_restconf.sh
@@ -148,7 +148,9 @@ fi
echo -n "">> $ftest
cat $fdataxml >> $ftest
echo "
" >> $ftest
-sed -i '//!d' $foutput
+# -i dont always work properly
+sed '//!d' $foutput > $foutput2
+mv $foutput2 $foutput
ret=$(diff -i $ftest $foutput)
if [ $? -ne 0 ]; then
diff --git a/test/test_perf_restconf_ssl.sh b/test/test_perf_restconf_ssl.sh
index 68d1b09c..84bd0b76 100755
--- a/test/test_perf_restconf_ssl.sh
+++ b/test/test_perf_restconf_ssl.sh
@@ -164,7 +164,8 @@ fi
echo -n "">> $ftest
cat $fdataxml >> $ftest
echo "
" >> $ftest
-sed -i '//!d' $foutput
+sed '//!d' $foutput > $foutput2
+mv $foutput2 $foutput
ret=$(diff -i $ftest $foutput)
if [ $? -ne 0 ]; then
diff --git a/test/test_restconf_err.sh b/test/test_restconf_err.sh
index 7a20c510..fc07fd2e 100755
--- a/test/test_restconf_err.sh
+++ b/test/test_restconf_err.sh
@@ -216,8 +216,9 @@ expectpart "$(curl $CURLOPTS -X GET -H 'Accept: application/yang-data+xml' $RCPR
# Look for netcat or nc for direct socket http calls
if [ -n "$(type netcat 2> /dev/null)" ]; then
netcat="netcat -w 1" # -N does not work on fcgi
-elif [ -n "$(type nc 2> /dev/null)" ]; then
- netcat=nc
+# nc on freebsd does not work either
+#elif [ -n "$(type nc 2> /dev/null)" ]; then
+# netcat=nc
else
netcat=
fi