diff --git a/src/test/regress/expected/case.out b/src/test/regress/expected/case.out
index 35b6476e501570ee3a273994362eccc30ea8ae97..5f6aa16d31985bc16c8e5088e81d4df6bc1635db 100644
--- a/src/test/regress/expected/case.out
+++ b/src/test/regress/expected/case.out
@@ -305,6 +305,9 @@ SELECT * FROM CASE_TBL;
 -- the isNull flag for the case test value incorrectly became true, causing
 -- the third WHEN-clause not to match.  The volatile function calls are needed
 -- to prevent constant-folding in the planner, which would hide the bug.
+-- Wrap this in a single transaction so the transient '=' operator doesn't
+-- cause problems in concurrent sessions
+BEGIN;
 CREATE FUNCTION vol(text) returns text as
   'begin return $1; end' language plpgsql volatile;
 SELECT CASE
@@ -335,13 +338,9 @@ SELECT CASE volfoo('bar') WHEN 'foo'::foodomain THEN 'is foo' ELSE 'is not foo'
  is not foo
 (1 row)
 
+ROLLBACK;
 --
 -- Clean up
 --
 DROP TABLE CASE_TBL;
 DROP TABLE CASE2_TBL;
-DROP OPERATOR = (foodomain, foodomain);
-DROP FUNCTION inline_eq(foodomain, foodomain);
-DROP FUNCTION volfoo(text);
-DROP DOMAIN foodomain;
-DROP FUNCTION vol(text);
diff --git a/src/test/regress/sql/case.sql b/src/test/regress/sql/case.sql
index b2377e46109a6ccbf22659a976bae64b7c4f2baf..c860fae258a07eb857f78951aa0e3e480f605d51 100644
--- a/src/test/regress/sql/case.sql
+++ b/src/test/regress/sql/case.sql
@@ -167,6 +167,10 @@ SELECT * FROM CASE_TBL;
 -- the third WHEN-clause not to match.  The volatile function calls are needed
 -- to prevent constant-folding in the planner, which would hide the bug.
 
+-- Wrap this in a single transaction so the transient '=' operator doesn't
+-- cause problems in concurrent sessions
+BEGIN;
+
 CREATE FUNCTION vol(text) returns text as
   'begin return $1; end' language plpgsql volatile;
 
@@ -194,14 +198,11 @@ CREATE OPERATOR = (procedure = inline_eq,
 
 SELECT CASE volfoo('bar') WHEN 'foo'::foodomain THEN 'is foo' ELSE 'is not foo' END;
 
+ROLLBACK;
+
 --
 -- Clean up
 --
 
 DROP TABLE CASE_TBL;
 DROP TABLE CASE2_TBL;
-DROP OPERATOR = (foodomain, foodomain);
-DROP FUNCTION inline_eq(foodomain, foodomain);
-DROP FUNCTION volfoo(text);
-DROP DOMAIN foodomain;
-DROP FUNCTION vol(text);