diff --git a/Code/Mantid/Framework/Kernel/inc/MantidKernel/MantidVersion.h b/Code/Mantid/Framework/Kernel/inc/MantidKernel/MantidVersion.h
index 533ef742b43ad8408b4866e48aa36e69aaf0a384..f47c375f2b3a6ffa2e9c2c15970c9a23cf0ac254 100644
--- a/Code/Mantid/Framework/Kernel/inc/MantidKernel/MantidVersion.h
+++ b/Code/Mantid/Framework/Kernel/inc/MantidKernel/MantidVersion.h
@@ -6,6 +6,8 @@
 //----------------------------------------------------------------------
 #include "MantidKernel/DllConfig.h"
 
+#include <string>
+
 namespace Mantid
 {
 namespace Kernel
@@ -39,6 +41,8 @@ public:
   static const char* revision();    ///< The abbreviated SHA-1 of the last commit
   static const char* revisionFull();    ///< The full SHA-1 of the last commit
   static const char* releaseDate(); ///< The date of the last commit
+  static const char* mainDOI();  ///< The main landing page DOI for Mantid.
+  static std::string releaseDOI();  ///< The DOI for this release of Mantid.
 
 private:
   MantidVersion(); ///< Private, unimplemented constructor. Not a class that can be instantiated.
diff --git a/Code/Mantid/Framework/Kernel/src/ConfigService.cpp b/Code/Mantid/Framework/Kernel/src/ConfigService.cpp
index 5dfc1fdc3c10d107e468b410f45c8d8127d19ca7..2d070f2e443ea474be776854e86dcd64c2c49df6 100644
--- a/Code/Mantid/Framework/Kernel/src/ConfigService.cpp
+++ b/Code/Mantid/Framework/Kernel/src/ConfigService.cpp
@@ -54,7 +54,9 @@ namespace Mantid
  */
 std::string welcomeMessage()
 {
-    return "Welcome to Mantid version " + std::string(Mantid::Kernel::MantidVersion::version()) + " - Manipulation and Analysis Toolkit for Instrument Data";
+    return "Welcome to Mantid version " + std::string(Mantid::Kernel::MantidVersion::version()) + " - Manipulation and Analysis Toolkit for Instrument Data\n" +
+           "Main DOI: " + Mantid::Kernel::MantidVersion::mainDOI() + "\n" +
+           "Current Version DOI: " + Mantid::Kernel::MantidVersion::releaseDOI();
 }
 
 namespace Kernel
diff --git a/Code/Mantid/Framework/Kernel/src/MantidVersion.cpp.in b/Code/Mantid/Framework/Kernel/src/MantidVersion.cpp.in
index 932e96de1924baf17ec06d9760c4c0db89cb1aa1..cd57e8d7b6043cc2923b8b59ac19a21680accfdf 100644
--- a/Code/Mantid/Framework/Kernel/src/MantidVersion.cpp.in
+++ b/Code/Mantid/Framework/Kernel/src/MantidVersion.cpp.in
@@ -3,6 +3,9 @@
 //----------------------------------------------------------------------
 #include "MantidKernel/MantidVersion.h"
 
+#include <sstream>
+#include <boost/lexical_cast.hpp>
+
 namespace Mantid
 {
 namespace Kernel
@@ -30,5 +33,31 @@ const char* MantidVersion::releaseDate()
   return "@MtdVersion_WC_LAST_CHANGED_DATE@";
 }
 
+const char* MantidVersion::mainDOI()
+{
+  return "http://dx.doi.org/10.5286/Software/Mantid";
+}
+
+std::string MantidVersion::releaseDOI()
+{
+  int patchVersion;
+  try
+  {
+    patchVersion = boost::lexical_cast<int>(@MtdVersion_WC_LAST_CHANGED_REV@);
+  }
+  catch(boost::bad_lexical_cast &)
+  {
+    patchVersion = 0;
+  }
+
+  std::stringstream doi;
+  doi << mainDOI() << "@VERSION_MAJOR@.@VERSION_MINOR@";
+
+  if( patchVersion != 0 )
+    doi << "." << patchVersion;
+
+  return doi.str();
+}
+
 } // namespace Kernel
 } // namespace Mantid