diff --git a/applications/utilities/miscellaneous/foamDictionary/foamDictionary.C b/applications/utilities/miscellaneous/foamDictionary/foamDictionary.C
index 64b1743f850f796c704a488b6b7a8e1fb8d03807..14f2f98e780d432bad9a4c1349ba7aecbf2e951c 100644
--- a/applications/utilities/miscellaneous/foamDictionary/foamDictionary.C
+++ b/applications/utilities/miscellaneous/foamDictionary/foamDictionary.C
@@ -242,19 +242,24 @@ int main(int argc, char *argv[])
 
     argList::noBanner();
     argList::validArgs.append("dictionary");
-    argList::addBoolOption("keywords", "report keywords");
+    argList::addBoolOption("keywords", "list keywords");
     argList::addOption("entry", "name", "report/select the named entry");
+    argList::addBoolOption
+    (
+        "value",
+        "print entry value"
+    );
     argList::addOption
     (
         "set",
         "value",
-        "changes existing entry or adds new entry"
+        "set entry value or add new entry"
     );
     argList::addOption
     (
         "add",
         "value",
-        "adds a new entry"
+        "add a new entry"
     );
     argList::addBoolOption
     (
@@ -356,7 +361,26 @@ int main(int argc, char *argv[])
                     }
                     else
                     {
-                        Info<< *entPtr << endl;
+                        if (args.optionFound("value"))
+                        {
+                            if (entPtr->isStream())
+                            {
+                                const tokenList& tokens = entPtr->stream();
+                                forAll(tokens, i)
+                                {
+                                    Info<< tokens[i] << token::SPACE;
+                                }
+                                Info<< endl;
+                            }
+                            else if (entPtr->isDict())
+                            {
+                                Info<< entPtr->dict();
+                            }
+                        }
+                        else
+                        {
+                            Info<< *entPtr << endl;
+                        }
                     }
                 }
                 else