diff --git a/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.C b/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.C
index 152bca0ed6a4b73ea367485b68a237a569e787bf..c2390f4ffa51448f7c19ddebc02c9740a646f279 100644
--- a/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.C
+++ b/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.C
@@ -33,7 +33,7 @@ License
 // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
 
 // Truncate error message for readability
-static const unsigned errLen = 80;
+static constexpr const unsigned errLen = 80;
 
 // * * * * * * * * * * * * * * * Local Functions * * * * * * * * * * * * * * //
 
@@ -581,7 +581,7 @@ Foam::Istream& Foam::ISstream::read(string& str)
 }
 
 
-Foam::Istream& Foam::ISstream::readVariable(string& str)
+Foam::Istream& Foam::ISstream::readVariable(std::string& str)
 {
     static const unsigned maxLen = 1024;
     static char buf[maxLen];
@@ -698,14 +698,14 @@ Foam::Istream& Foam::ISstream::readVariable(string& str)
     }
 
     // Finalize
-    str = buf;
+    str.assign(buf, nChar);
     putback(c);
 
     return *this;
 }
 
 
-Foam::Istream& Foam::ISstream::readVerbatim(string& str)
+Foam::Istream& Foam::ISstream::readVerbatim(std::string& str)
 {
     static const unsigned maxLen = 8000;
     static char buf[maxLen];
diff --git a/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.H b/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.H
index 4b2e200971a7fbd804b1389521e8278d68b8455f..ce7df55c3b616e6ca815b183e0b31ad3785aa8e5 100644
--- a/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.H
+++ b/src/OpenFOAM/db/IOstreams/Sstreams/ISstream.H
@@ -70,15 +70,14 @@ class ISstream
         //- Get a word token
         void readWordToken(token& t);
 
-
         //- Read a verbatim string (excluding block delimiters).
         //  The leading "#{" has been removed prior to calling,
         //  continues until the closing "#}" has been found.
-        Istream& readVerbatim(string& str);
+        Istream& readVerbatim(std::string& str);
 
         //- Read a variable name starting with '$'.
-        //  Handles both "$var" and "${var}" forms.
-        Istream& readVariable(string& str);
+        //  Handles "$var" and "${var}" forms, permits '/' scoping character.
+        Istream& readVariable(std::string& str);
 
         //- No copy assignment
         void operator=(const ISstream&) = delete;