diff --git a/rocketchatserver.cpp b/rocketchatserver.cpp
index 58decd621b89df32b2b3d752a2581af14da7fb40..567d7d00e6c44c01e1c94944bdadd14ced6642b3 100755
--- a/rocketchatserver.cpp
+++ b/rocketchatserver.cpp
@@ -70,6 +70,8 @@ void RocketChatServerData::init()
 
     mChannels = new ChannelRepository( channelsModel, channelsModel, groupsModel, mMessagesModel );
 
+    RocketChatServerConfig::init();
+
     QMetaObject::invokeMethod( mRestApi, "init" );
 
     connect( mDdpApi, &MeteorDDP::messageReceived, this, &RocketChatServerData::onDDPMessageReceived, Qt::UniqueConnection );
@@ -1741,6 +1743,7 @@ void RocketChatServerData::getServerInfo()
                 std::get<0>( RocketChatServerConfig::serverVersion ) = verParts[0].toInt();
                 std::get<1>( RocketChatServerConfig::serverVersion ) = verParts[1].toInt();
                 std::get<2>( RocketChatServerConfig::serverVersion ) = verParts[2].toInt();
+                mStorage->setSetting( "serverversion", version );
             }
         }
     };
diff --git a/rocketchatserverconfig.cpp b/rocketchatserverconfig.cpp
index 2790381c9219752fa0d97978a59da7f7a559406e..97127a0bc1401a05586f2494d08a1fdc19c4ca01 100644
--- a/rocketchatserverconfig.cpp
+++ b/rocketchatserverconfig.cpp
@@ -18,7 +18,7 @@
  *                                                                                          *
  ********************************************************************************************/
 
-
+#include "persistancelayer.h"
 #include "rocketchatserverconfig.h"
 
 std::tuple<int, int, int> RocketChatServerConfig::serverVersion = std::make_tuple( -1, -1, -1 );
@@ -30,3 +30,19 @@ RocketChatServerConfig::RocketChatServerConfig()
 {
 
 }
+
+void RocketChatServerConfig::init()
+{
+    PersistanceLayer *mStorage = PersistanceLayer::instance();
+    QString serverVersion = mStorage->getSetting( "serverversion" );
+
+    if ( !serverVersion.isEmpty() ) {
+        QStringList verParts = serverVersion.split( "," );
+
+        if ( verParts.length() > 2 ) {
+            std::get<0>( RocketChatServerConfig::serverVersion ) = verParts[0].toInt();
+            std::get<1>( RocketChatServerConfig::serverVersion ) = verParts[1].toInt();
+            std::get<2>( RocketChatServerConfig::serverVersion ) = verParts[2].toInt();
+        }
+    }
+}
diff --git a/rocketchatserverconfig.h b/rocketchatserverconfig.h
index 2dd65a75e5ae8fcf1388f56fe4c00fd18ba9f4df..8ca41f67471876df01aaf01ceb267018502708ee 100644
--- a/rocketchatserverconfig.h
+++ b/rocketchatserverconfig.h
@@ -28,6 +28,7 @@ class RocketChatServerConfig
 {
     public:
         RocketChatServerConfig();
+        static void init();
         static QString uniqueId;
         static QString jitsiMeetUrl;
         static QString jitsiMeetPrefix;