diff --git a/gcc/cobol/UAT/failsuite.src/syn_definition.at b/gcc/cobol/UAT/failsuite.src/syn_definition.at
index 88282ffb9cc957af1afc3f90018262286eb686d8..a93e341ea734687d277d39ceb2f1f0186a47498e 100644
--- a/gcc/cobol/UAT/failsuite.src/syn_definition.at
+++ b/gcc/cobol/UAT/failsuite.src/syn_definition.at
@@ -68,26 +68,6 @@ AT_CHECK([./a.out], [0], [134
 ], [])
 AT_CLEANUP
 
-AT_SETUP([Screen section starts with 78-level])
-AT_KEYWORDS([screen definition])
-AT_XFAIL_IF([test "SCREEN" != "implemented"])
-
-AT_DATA([prog.cob], [
-       IDENTIFICATION DIVISION.
-       PROGRAM-ID. prog.
-
-       DATA DIVISION.
-       SCREEN SECTION.
-       78 const VALUE "x".
-])
-
-AT_CHECK([$COMPILE_ONLY prog.cob], [0], [],
-[prog.cob:6: syntax error at 'SCREEN'
-])
-AT_CLEANUP
-
-
-
 AT_SETUP([PROCEDURE DIVISION RETURNING item (1)])
 AT_KEYWORDS([definition runmisc])
 AT_DATA([prog.cob], [
diff --git a/gcc/cobol/UAT/failsuite.src/syn_file.at b/gcc/cobol/UAT/failsuite.src/syn_file.at
index 4de11b110bb05d691166b9095f7b56b793327dba..e1744463edfcb2b594cfbcb8d165ea85ce091cdb 100644
--- a/gcc/cobol/UAT/failsuite.src/syn_file.at
+++ b/gcc/cobol/UAT/failsuite.src/syn_file.at
@@ -22,7 +22,6 @@
 
 AT_SETUP([DECLARATIVES invalid procedure reference (2)])
 AT_KEYWORDS([file])
-AT_SKIP_IF([test declaratives != goto])
 AT_DATA([prog.cob], [
        IDENTIFICATION   DIVISION.
        PROGRAM-ID.      prog.
@@ -47,47 +46,14 @@ AT_DATA([prog.cob], [
        PP02.
            OPEN  INPUT TEST-FILE.
            CLOSE TEST-FILE.
+      *> P02 should be inaccessible at this point
            PERFORM P02.
            GO TO P02.
            STOP RUN.
 ])
-
 AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
 [prog.cob: in section 'PP01':
 prog.cob: in paragraph 'PP02':
 prog.cob:26: error: invalid reference to 'P02' (in DECLARATIVES)
 ])
-
 AT_CLEANUP
-
-
-AT_SETUP([RECORDING MODE])
-AT_KEYWORDS([file extensions])
-AT_XFAIL_IF([test "$COB_DIALECT" != "ibm"])
-
-AT_DATA([prog.cob], [
-       IDENTIFICATION DIVISION.
-       PROGRAM-ID. prog.
-
-       ENVIRONMENT DIVISION.
-       INPUT-OUTPUT SECTION.
-       FILE-CONTROL.
-           SELECT f ASSIGN "f.dat" LINE SEQUENTIAL.
-
-       DATA DIVISION.
-       FILE SECTION.
-       FD  f RECORDING MODE IS U.
-       01  x PIC X.
-
-       PROCEDURE DIVISION.
-           OPEN INPUT f
-           CLOSE f
-           .
-])
-
-AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[cobol1: warning: RECORDING MODE ignored, not defined by ISO 2023
-])
-AT_CLEANUP
-
-
diff --git a/gcc/cobol/UAT/failsuite.src/syn_misc.at b/gcc/cobol/UAT/failsuite.src/syn_misc.at
index 9c4e1cd40b66be8af979fa6e2c7593ba5146f12c..a2fc97bcb66ccdcf2d40d5be9ddb4b8eddb90de6 100644
--- a/gcc/cobol/UAT/failsuite.src/syn_misc.at
+++ b/gcc/cobol/UAT/failsuite.src/syn_misc.at
@@ -20,83 +20,6 @@
 ### GnuCOBOL Test Suite
 
 
-AT_SETUP([NX literals])
-AT_KEYWORDS([misc])
-AT_XFAIL_IF(test national_hex != implmented)
-AT_DATA([prog.cob], [
-       IDENTIFICATION DIVISION.
-       PROGRAM-ID.    prog.
-       PROCEDURE      DIVISION.
-           *> Valid form
-           DISPLAY NX"265E"
-           DISPLAY NX"0123456789ABCDEF"
-
-           *> invalid form
-           DISPLAY NX"GH"
-                    NX"1".
-])
-# Technically, this test fails because of doubled double-quote in the
-# stderr text, which serves the syntax highlighting in emacs
-# autotest-mode.  As a matter of ISO Cobol, it is expected to fail
-# because NX is unimplmeented.
-AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[prog.cob:6: syntax error: National not implemented at '265E'
-prog.cob:7: syntax error: National not implemented at '0123456789ABCDEF'
-prog.cob:10: syntax error: symbol 'NX' not found at '""'
-prog.cob:11: syntax error: hex literal '1' has an odd number (1) of characters at '1'
-cobol1: error: failed compiling prog.cob
-])
-AT_CLEANUP
-
-
-AT_SETUP([binary literals])
-AT_KEYWORDS([misc extensions ])
-AT_XFAIL_IF(test binary_literals != implmented)
-AT_DATA([prog.cob], [
-       IDENTIFICATION   DIVISION.
-       PROGRAM-ID.      prog.
-       PROCEDURE        DIVISION.
-           DISPLAY B"101010"
-           DISPLAY B"111111111111111111111111111111111111111111111111111
-      -             "1111111111111" *> " Syntax highlighting hack
-
-           DISPLAY B"23"
-           DISPLAY B"111111111111111111111111111111111111111111111111111
-      -             "111111111111111111111111111111111111111111111111111
-      -             "11111111111111111111111111111111111111111111111111"
-           STOP RUN.
-])
-
-AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
-[cobol1: warning: Boolean literals are not expected to work correctly
-prog.cob:9: syntax error: symbol 'B' not found at '""'
-prog.cob:10: error: input inconceivably long at '11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'
-cobol1: error: failed compiling prog.cob
-])
-AT_CLEANUP
-
-
-# cobc says this is a valid program.  Maybe, but it is pointless.
-# The only utility for a program with a global declarative but no procedure body
-# is if it has a contained program that could invoke its declaratives. 
-AT_SETUP([DECLARATIVES, but no program])
-AT_KEYWORDS([misc parsing])
-AT_XFAIL_IF([test "$COB_DIALECT" != "gnu"])
-
-AT_DATA([prog.cob], [
-        IDENTIFICATION DIVISION.
-        PROGRAM-ID. prog.
-        PROCEDURE DIVISION.
-        DECLARATIVES.
-        GLOBAL-SECTION SECTION.
-            USE ERROR OUTPUT.
-        END DECLARATIVES.
-      *> This should not generate a parsing error
-        END PROGRAM prog.
-])
-AT_CHECK([$COMPILE prog.cob], [0], [], [])
-AT_CHECK([./a.out], [0], [], [])
-AT_CLEANUP
 
 AT_SETUP([X literals])
 AT_KEYWORDS([misc])
@@ -113,7 +36,7 @@ AT_DATA([prog.cob], [
                    X"1"
            END-DISPLAY.
 ])
-AT_CHECK([$COMPILE_ONLY prog.cob], [1], [], [])
+AT_CHECK([$COMPILE_ONLY prog.cob], [1], [], [Needs better error messages])
 AT_CLEANUP
 
 
diff --git a/gcc/cobol/UAT/skipsuite.src/run_file.at b/gcc/cobol/UAT/skipsuite.src/run_file.at
index 107d0bbc367c9704e1400d52778dfa8cd8fc5c9c..bdd8ddf768228b872b7a07a164499b9e2867bbb5 100644
--- a/gcc/cobol/UAT/skipsuite.src/run_file.at
+++ b/gcc/cobol/UAT/skipsuite.src/run_file.at
@@ -5419,3 +5419,28 @@ libcob: prog.cob:61: warning: implicit CLOSE of g ('out.txt')
 AT_CLEANUP
 
 
+
+
+AT_SETUP([RECORDING MODE (IBM QSAM)])
+AT_KEYWORDS([file extensions])
+AT_XFAIL_IF([test "$COB_DIALECT" != "ibm"])
+AT_DATA([prog.cob], [
+       IDENTIFICATION DIVISION.
+       PROGRAM-ID. prog.
+       ENVIRONMENT DIVISION.
+       INPUT-OUTPUT SECTION.
+       FILE-CONTROL.
+           SELECT f ASSIGN "f.dat" LINE SEQUENTIAL.
+       DATA DIVISION.
+       FILE SECTION.
+       FD  f RECORDING MODE IS U.
+       01  x PIC X.
+       PROCEDURE DIVISION.
+           OPEN INPUT f
+           CLOSE f
+           .
+])
+AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
+[cobol1: warning: RECORDING MODE ignored, not defined by ISO 2023
+])
+AT_CLEANUP
diff --git a/gcc/cobol/UAT/skipsuite.src/syn_definition.at b/gcc/cobol/UAT/skipsuite.src/syn_definition.at
index 1037a93d2935b0c3d383ef1a37ff91785df5c62e..5f3a717cbafbe330085d3fa30181fd3d287ef1fa 100644
--- a/gcc/cobol/UAT/skipsuite.src/syn_definition.at
+++ b/gcc/cobol/UAT/skipsuite.src/syn_definition.at
@@ -1023,3 +1023,21 @@ prog.cob:29: error: 'SOME-DATA' not level 01 or 77
 AT_CLEANUP
 
 
+AT_SETUP([Screen section starts with 78-level])
+AT_KEYWORDS([screen definition])
+AT_XFAIL_IF([test "SCREEN" != "implemented"])
+AT_DATA([prog.cob], [
+       IDENTIFICATION DIVISION.
+       PROGRAM-ID. prog.
+
+       DATA DIVISION.
+       SCREEN SECTION.
+       78 const VALUE "x".
+])
+AT_CHECK([$COMPILE_ONLY prog.cob], [0], [],
+[prog.cob:6: syntax error at 'SCREEN'
+])
+AT_CLEANUP
+
+
+
diff --git a/gcc/cobol/UAT/skipsuite.src/syn_misc.at b/gcc/cobol/UAT/skipsuite.src/syn_misc.at
index 7613b1b7b2fea7f092a7496cfb18221a4883c728..b12e105a3241288e186fba7b2168da80436426c6 100644
--- a/gcc/cobol/UAT/skipsuite.src/syn_misc.at
+++ b/gcc/cobol/UAT/skipsuite.src/syn_misc.at
@@ -5385,3 +5385,80 @@ correct X > Y
 AT_CLEANUP
 
 
+AT_SETUP([NX literals])
+AT_KEYWORDS([misc])
+AT_XFAIL_IF(test national_hex != implmented)
+AT_DATA([prog.cob], [
+       IDENTIFICATION DIVISION.
+       PROGRAM-ID.    prog.
+       PROCEDURE      DIVISION.
+           *> Valid form
+           DISPLAY NX"265E"
+           DISPLAY NX"0123456789ABCDEF"
+
+           *> invalid form
+           DISPLAY NX"GH"
+                    NX"1".
+])
+# Technically, this test fails because of doubled double-quote in the
+# stderr text, which serves the syntax highlighting in emacs
+# autotest-mode.  As a matter of ISO Cobol, it is expected to fail
+# because NX is unimplmeented.
+AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
+[prog.cob:6: syntax error: National not implemented at '265E'
+prog.cob:7: syntax error: National not implemented at '0123456789ABCDEF'
+prog.cob:10: syntax error: symbol 'NX' not found at '""'
+prog.cob:11: syntax error: hex literal '1' has an odd number (1) of characters at '1'
+cobol1: error: failed compiling prog.cob
+])
+AT_CLEANUP
+
+
+AT_SETUP([binary literals])
+AT_KEYWORDS([misc extensions ])
+AT_XFAIL_IF(test binary_literals != implmented)
+AT_DATA([prog.cob], [
+       IDENTIFICATION   DIVISION.
+       PROGRAM-ID.      prog.
+       PROCEDURE        DIVISION.
+           DISPLAY B"101010"
+           DISPLAY B"111111111111111111111111111111111111111111111111111
+      -             "1111111111111" *> " Syntax highlighting hack
+
+           DISPLAY B"23"
+           DISPLAY B"111111111111111111111111111111111111111111111111111
+      -             "111111111111111111111111111111111111111111111111111
+      -             "11111111111111111111111111111111111111111111111111"
+           STOP RUN.
+])
+
+AT_CHECK([$COMPILE_ONLY prog.cob], [1], [],
+[cobol1: warning: Boolean literals are not expected to work correctly
+prog.cob:9: syntax error: symbol 'B' not found at '""'
+prog.cob:10: error: input inconceivably long at '11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'
+cobol1: error: failed compiling prog.cob
+])
+AT_CLEANUP
+
+
+# cobc says this is a valid program.  Maybe, but it is pointless.
+# The only utility for a program with a global declarative but no procedure body
+# is if it has a contained program that could invoke its declaratives. 
+AT_SETUP([DECLARATIVES, but no program])
+AT_KEYWORDS([misc parsing])
+AT_XFAIL_IF([test "$COB_DIALECT" != "gnu"])
+
+AT_DATA([prog.cob], [
+        IDENTIFICATION DIVISION.
+        PROGRAM-ID. prog.
+        PROCEDURE DIVISION.
+        DECLARATIVES.
+        GLOBAL-SECTION SECTION.
+            USE ERROR OUTPUT.
+        END DECLARATIVES.
+      *> This should not generate a parsing error
+        END PROGRAM prog.
+])
+AT_CHECK([$COMPILE prog.cob], [0], [], [])
+AT_CHECK([./a.out], [0], [], [])
+AT_CLEANUP