diff --git a/src/functionObjects/forces/forces/forces.H b/src/functionObjects/forces/forces/forces.H
index 41d4aa6b6f1f0ce34ec0e1923647927fd203f7ff..4a27514c6abe370f742caab8329c7759c057539e 100644
--- a/src/functionObjects/forces/forces/forces.H
+++ b/src/functionObjects/forces/forces/forces.H
@@ -111,8 +111,12 @@ Note
         coordinateSystem
         {
             origin  (0 0 0);
-            e3      (0 0 1);
-            e1      (1 0 0);
+            coordinateRotation
+            {
+                type    axesRotation;
+                e3      (0 0 1);
+                e1      (1 0 0);
+            }
         }
     \endverbatim
 
@@ -346,11 +350,11 @@ protected:
         //- Write binned data
         void writeBins();
 
-        //- Disallow default bitwise copy construct
-        forces(const forces&);
+        //- No copy construct
+        forces(const forces&) = delete;
 
-        //- Disallow default bitwise assignment
-        void operator=(const forces&);
+        //- No copy assignment
+        void operator=(const forces&) = delete;
 
 
 public:
diff --git a/src/fvOptions/sources/interRegion/interRegionExplicitPorositySource/interRegionExplicitPorositySource.H b/src/fvOptions/sources/interRegion/interRegionExplicitPorositySource/interRegionExplicitPorositySource.H
index e42e29d3dbfd1e46181bdaadd90cf1f0f4e600b9..1b0c33b95b64b2b0919891b14560e2c98fa84b6b 100644
--- a/src/fvOptions/sources/interRegion/interRegionExplicitPorositySource/interRegionExplicitPorositySource.H
+++ b/src/fvOptions/sources/interRegion/interRegionExplicitPorositySource/interRegionExplicitPorositySource.H
@@ -43,8 +43,13 @@ Description
 
             coordinateSystem
             {
-                e1  (0.70710678 0.70710678 0);
-                e2  (0 0 1);
+                origin      (0 0 0);
+                coordinateRotation
+                {
+                    type axesRotation;
+                    e1  (0.70710678 0.70710678 0);
+                    e2  (0 0 1);
+                }
             }
         }
     }
diff --git a/src/meshTools/coordinateSystems/coordinateSystem.C b/src/meshTools/coordinateSystems/coordinateSystem.C
index b4a9e7882009046141db1ef497fbcfd16b26acae..484f410c5e01b519c96ab80213522dd8764cad7e 100644
--- a/src/meshTools/coordinateSystems/coordinateSystem.C
+++ b/src/meshTools/coordinateSystems/coordinateSystem.C
@@ -129,9 +129,21 @@ Foam::coordinateSystem::coordinateSystem
 {
     const entry* entryPtr = dict.lookupEntryPtr(typeName_(), false, false);
 
-    // non-dictionary entry is a lookup into global coordinateSystems
-    if (entryPtr && !entryPtr->isDict())
+    if (!entryPtr)
     {
+        // No 'coordinateSystem' entry
+        init(dict, obr);
+    }
+    else if (entryPtr->isDict())
+    {
+        // 'coordinateSystem' as dictionary entry - use it
+        init(entryPtr->dict(), obr);
+    }
+    else
+    {
+        // 'coordinateSystem' as non-dictionary entry
+        // - this is a lookup into global coordinateSystems
+
         keyType key(entryPtr->stream());
 
         const coordinateSystems& lst = coordinateSystems::New(obr);
@@ -152,15 +164,11 @@ Foam::coordinateSystem::coordinateSystem
                 << exit(FatalError);
         }
 
-        // copy coordinateSystem, but assign the name as the typeName
+        // Copy from coordinateSystem, but assign the name as the typeName
         // to avoid strange things in writeDict()
         operator=(lst[index]);
         name_ = typeName_();
     }
-    else
-    {
-        init(dict, obr);
-    }
 }