Index: trunk/BNC/CHANGELOG.md
===================================================================
--- trunk/BNC/CHANGELOG.md	(revision 10898)
+++ trunk/BNC/CHANGELOG.md	(revision 10899)
@@ -1,6 +1,7 @@
 # Changelog
-## 2.13.6 (2026-04-14)
+## 2.13.6 (2026-04-29)
 - ADDED: **Multi-Frequency PPP capability**
 - ADDED: **Ambiguity Resolution (PPP with AR)** using the Best Integer Equivariant algorithm (BIE) as algorithm for the ambiguity resolution
+- FIXED: Bug within NavIC broadcast ephemeris encoding/decoding
 - FIXED: Bug for finding client certificates
 - FIXED: sign of biases, which is defined different in SSR and SINEX
Index: trunk/BNC/src/RTCM3/RTCM3Decoder.cpp
===================================================================
--- trunk/BNC/src/RTCM3/RTCM3Decoder.cpp	(revision 10898)
+++ trunk/BNC/src/RTCM3/RTCM3Decoder.cpp	(revision 10899)
@@ -1549,5 +1549,4 @@
     GETFLOATSIGN(eph._Crs,  15, 1.0 / (double )(1 <<  4))
     GETFLOATSIGN(eph._IDOT, 14, R2R_PI/(double)(1<<30)/(double)(1<<13))
-    SKIPBITS(2)
     GETFLOATSIGN(eph._M0,   32, R2R_PI/(double)(1<<30)/(double)(1<< 1))
     GETBITS(i, 16)
@@ -1586,5 +1585,7 @@
     GETFLOATSIGN(eph._OMEGADOT, 22, R2R_PI/(double)(1<<30)/(double)(1<<11))
     GETFLOATSIGN(eph._i0,       32, R2R_PI/(double)(1<<30)/(double)(1<< 1))
-    SKIPBITS(2)
+    GETBITS(eph._s_bits_after_IDOT, 2)
+    GETBITS(eph._s_bits_after_i0, 2)
+
     eph._TOT = 0.9999e9;
     eph._type = t_eph::LNAV;
Index: trunk/BNC/src/RTCM3/ephEncoder.cpp
===================================================================
--- trunk/BNC/src/RTCM3/ephEncoder.cpp	(revision 10898)
+++ trunk/BNC/src/RTCM3/ephEncoder.cpp	(revision 10899)
@@ -87,5 +87,4 @@
     GPSADDBITSFLOAT(15, eph._Crs, 1.0/static_cast<double>(1<< 4))
     GPSADDBITSFLOAT(14, eph._IDOT, M_PI/static_cast<double>(1<<30)/static_cast<double>(1<<13))
-    GPSADDBITS(2, 0) /* padding */
     GPSADDBITSFLOAT(32, eph._M0, M_PI/static_cast<double>(1<<30)/static_cast<double>(1<<1))
     GPSADDBITS(16, static_cast<int>(eph._TOEsec)>>4)
@@ -96,5 +95,6 @@
     GPSADDBITSFLOAT(22, eph._OMEGADOT, M_PI/static_cast<double>(1<<30)/static_cast<double>(1<<11))
     GPSADDBITSFLOAT(32, eph._i0, M_PI/static_cast<double>(1<<30)/static_cast<double>(1<<1))
-    GPSADDBITS(2, 0) /* padding */
+    GPSADDBITS(2, eph._s_bits_after_IDOT)
+    GPSADDBITS(2, eph._s_bits_after_i0)
   } else {
     GPSADDBITS(12, 1019)
Index: trunk/BNC/src/ephemeris.h
===================================================================
--- trunk/BNC/src/ephemeris.h	(revision 10898)
+++ trunk/BNC/src/ephemeris.h	(revision 10899)
@@ -73,58 +73,60 @@
  public:
   t_ephGPS() {
-    _clock_bias      = 0.0;
-    _clock_drift     = 0.0;
-    _clock_driftrate = 0.0;
-    _IODE            = 0.0;
-    _Crs             = 0.0;
-    _Delta_n         = 0.0;
-    _M0              = 0.0;
-    _Cuc             = 0.0;
-    _e               = 0.0;
-    _Cus             = 0.0;
-    _sqrt_A          = 0.0;
-    _TOEsec          = 0.0;
-    _Cic             = 0.0;
-    _OMEGA0          = 0.0;
-    _Cis             = 0.0;
-    _i0              = 0.0;
-    _Crc             = 0.0;
-    _omega           = 0.0;
-    _OMEGADOT        = 0.0;
-    _IDOT            = 0.0;
-    _L2Codes         = 0.0;
-    _TOEweek         = 0.0;
-    _L2PFlag         = 0.0;
-    _ura             = 0.0;
-    _health          = 0.0;
-    _TGD             = 0.0;
-    _IODC            = 0.0;
-    _TOT             = 0.0;
-    _fitInterval     = 0.0;
-    _ADOT            = 0.0;
-    _top             = 0.0;
-    _Delta_n_dot     = 0.0;
-    _URAI            = 0.0;
-    _URAI_NED0       = 0.0;
-    _URAI_NED1       = 0.0;
-    _URAI_NED2       = 0.0;
-    _URAI_ED         = 0.0;
-    _ISC_L1CA        = 0.0;
-    _ISC_L2C         = 0.0;
-    _ISC_L5I5        = 0.0;
-    _ISC_L5Q5        = 0.0;
-    _ISC_L1Cd        = 0.0;
-    _ISC_L1Cp        = 0.0;
-    _RSF             = 0.0;
-    _ISC_S           = 0.0;
-    _ISC_L1D         = 0.0;
-    _ISC_L1P         = 0.0;
-    _wnop            = 0.0;
-    _flags_unknown   = true;
-    _intSF           = 0.0;
-    _ephSF           = 0.0;
-    _L2Cphasing      = 0.0;
-    _alert           = 0.0;
-    _receptStaID     = "";
+    _clock_bias         = 0.0;
+    _clock_drift        = 0.0;
+    _clock_driftrate    = 0.0;
+    _IODE               = 0.0;
+    _Crs                = 0.0;
+    _Delta_n            = 0.0;
+    _M0                 = 0.0;
+    _Cuc                = 0.0;
+    _e                  = 0.0;
+    _Cus                = 0.0;
+    _sqrt_A             = 0.0;
+    _TOEsec             = 0.0;
+    _Cic                = 0.0;
+    _OMEGA0             = 0.0;
+    _Cis                = 0.0;
+    _i0                 = 0.0;
+    _Crc                = 0.0;
+    _omega              = 0.0;
+    _OMEGADOT           = 0.0;
+    _IDOT               = 0.0;
+    _L2Codes            = 0.0;
+    _TOEweek            = 0.0;
+    _L2PFlag            = 0.0;
+    _ura                = 0.0;
+    _health             = 0.0;
+    _TGD                = 0.0;
+    _IODC               = 0.0;
+    _TOT                = 0.0;
+    _fitInterval        = 0.0;
+    _ADOT               = 0.0;
+    _top                = 0.0;
+    _Delta_n_dot        = 0.0;
+    _URAI               = 0.0;
+    _URAI_NED0          = 0.0;
+    _URAI_NED1          = 0.0;
+    _URAI_NED2          = 0.0;
+    _URAI_ED            = 0.0;
+    _ISC_L1CA           = 0.0;
+    _ISC_L2C            = 0.0;
+    _ISC_L5I5           = 0.0;
+    _ISC_L5Q5           = 0.0;
+    _ISC_L1Cd           = 0.0;
+    _ISC_L1Cp           = 0.0;
+    _RSF                = 0.0;
+    _ISC_S              = 0.0;
+    _ISC_L1D            = 0.0;
+    _ISC_L1P            = 0.0;
+    _wnop               = 0.0;
+    _flags_unknown      = true;
+    _intSF              = 0.0;
+    _ephSF              = 0.0;
+    _L2Cphasing         = 0.0;
+    _alert              = 0.0;
+    _s_bits_after_IDOT  = 0.0;
+    _s_bits_after_i0    = 0.0;
+    _receptStaID        = "";
   }
   t_ephGPS(double rnxVersion, const QStringList& lines, const QString typeStr);
@@ -213,4 +215,6 @@
   double _L2Cphasing;       // [-] L2C phasing flag
   double _alert;            // [-] alert flag
+  double _s_bits_after_IDOT;// [-] spare bits after IDOT for NavIC
+  double _s_bits_after_i0;  // [-] spare bits after I0 for NavIC
 
   double _wnop;             // GPS continuous week number with the ambiguity resolved (same as _TOEweek?)
