diff --git a/test/validate/pvGetCancel.st b/test/validate/pvGetCancel.st
index 16ddc67ceb75ea88768a260669226d1c30a8086d..595de378152272dab7f25b0fb621cbff16fdb323 100644
--- a/test/validate/pvGetCancel.st
+++ b/test/validate/pvGetCancel.st
@@ -7,6 +7,7 @@ in the file LICENSE that is included with this distribution.
 program pvGetCancelTest
 
 /* option +s; */
+option +p;
 
 %%#include "../testSupport.h"
 
diff --git a/test/validate/pvSync.st b/test/validate/pvSync.st
index 8096910ce442de8ef6c02ae809d1854ed4e331d0..517c7f97211570df09f6effffafea0f8f869c901 100644
--- a/test/validate/pvSync.st
+++ b/test/validate/pvSync.st
@@ -8,7 +8,7 @@ program pvSyncTest
 
 %%#include "../testSupport.h"
 
-option +s;
+option +sp;
 
 #define NTESTS 1000
 
@@ -31,7 +31,7 @@ sync i to ef_i;
 sync a to ef_a;
 
 entry {
-    seq_test_init(4*NTESTS);
+    seq_test_init(5*NTESTS);
     pvSync(x,ef_x);
     efSet(ef_putx);
     efClear(ef_i);
@@ -68,15 +68,13 @@ ss pvSyncY {
             pvSync(a, ef_a);
             testDiag("after pvSync(a, ef_a)");
             a[i] = i;
-            testOk1(pvPut(a)==pvStatOK);
+            testOk1(pvPut(a[i])==pvStatOK);
             testDiag("after pvPut(a[i])");
         } state pvUnsync
     }
     state pvUnsync {
         when (efTestAndClear(ef_a) && testOk1(a[i]==i)) {
-#if 0
             testOk1(a[i]==i);
-#endif
             if (i >= NTESTS-1) {
                 state done;
             }