diff --git a/EPPlus/ExcelCellBase.cs b/EPPlus/ExcelCellBase.cs
index 898145e..b60f79f 100644
--- a/EPPlus/ExcelCellBase.cs
+++ b/EPPlus/ExcelCellBase.cs
@@ -854,7 +854,15 @@
                 {
                     if (t.TokenType == TokenType.ExcelAddress)
                     {
-                        var a = new ExcelAddressBase(t.Value);                        
+                        var a = new ExcelAddressBase(t.Value);
+
+                        if (!String.IsNullOrEmpty(a._ws))  // Bug 15339
+                        {
+                            // This is from a different worksheet, thus no update is required
+                            f += a.Address;
+                            continue;
+                        }
+
                         if (rowIncrement > 0)
                         {
                             a = a.AddRow(afterRow, rowIncrement, setFixed);
