diff --git a/epicardium/ble/svc_dis.c b/epicardium/ble/svc_dis.c
index 8ce2786486458369498b744207a61c8dfa8d0644..b855f2847424973f2569ce58f24c8ada8be81141 100644
--- a/epicardium/ble/svc_dis.c
+++ b/epicardium/ble/svc_dis.c
@@ -24,13 +24,17 @@
  */
 /* clang-format off */
 /* clang-formet turned off for easier diffing against orginal file */
+#include "card10-version.h"
 #include "wsf_types.h"
 #include "att_api.h"
 #include "wsf_assert.h"
 #include "wsf_trace.h"
 #include "util/bstream.h"
+
+#define DIS_MAXSIZE_FWR_ATT 25
 #include "svc_dis.h"
 #include "svc_cfg.h"
+#include <string.h>
 
 /**************************************************************************************************
   Macros
@@ -60,10 +64,10 @@
 #define DIS_DEFAULT_SERIAL_NUM_LEN  1
 
 /*! Default firmware revision */
-#define DIS_DEFAULT_FW_REV          "<git hash>"
+#define DIS_DEFAULT_FW_REV          CARD10_VERSION
 
 /*! Length of default firmware revision */
-#define DIS_DEFAULT_FW_REV_LEN      10
+#define DIS_DEFAULT_FW_REV_LEN      strlen(CARD10_VERSION)
 
 /*! Default hardware revision */
 #define DIS_DEFAULT_HW_REV          "1"
@@ -128,7 +132,7 @@ static const uint16_t disLenFwrCh = sizeof(disValFwrCh);
 /* Firmware revision string */
 static const uint8_t disUuFwr[] = {UINT16_TO_BYTES(ATT_UUID_FIRMWARE_REV)};
 static uint8_t disValFwr[DIS_MAXSIZE_FWR_ATT] = DIS_DEFAULT_FW_REV;
-static uint16_t disLenFwr = DIS_DEFAULT_FW_REV_LEN;
+static uint16_t disLenFwr;
 
 /* Hardware revision string characteristic */
 static const uint8_t disValHwrCh[] = {ATT_PROP_READ, UINT16_TO_BYTES(DIS_HWR_HDL), UINT16_TO_BYTES(ATT_UUID_HARDWARE_REV)};
@@ -319,6 +323,7 @@ WSF_CT_ASSERT(((sizeof(disList) / sizeof(disList[0])) == DIS_END_HDL - DIS_START
 /*************************************************************************************************/
 void SvcDisAddGroup(void)
 {
+  disLenFwr = DIS_DEFAULT_FW_REV_LEN;
   AttsAddGroup(&svcDisGroup);
 }