diff --git a/network/ephemeral/tracker.go b/network/ephemeral/tracker.go
index 82b25ec0ad6fd15b5d406773933a1cd4c3e20e0e..dc094afb20a7a0d8f4ac4b8331fd4301c00a456e 100644
--- a/network/ephemeral/tracker.go
+++ b/network/ephemeral/tracker.go
@@ -141,15 +141,16 @@ func generateIdentities(protoIds []ephemeral.ProtoIdentity, ourId *id.ID,
 	// Add identities for every ephemeral ID
 	for i, eid := range protoIds {
 		// Expand the grace period for both start and end
-		eid.End.Add(validityGracePeriod)
-		eid.Start.Add(-validityGracePeriod)
+		//  This does not actually modify anything....   time is not a pointer and even if it were this returns the new value???
+		// eid.End.Add(validityGracePeriod)
+		// eid.Start.Add(-validityGracePeriod)
 		identities[i] = reception.Identity{
 			EphId:       eid.Id,
 			Source:      ourId,
 			AddressSize: addressSize,
 			End:         eid.End,
-			StartValid:  eid.Start,
-			EndValid:    eid.End,
+			StartValid:  eid.Start.Add(-validityGracePeriod),
+			EndValid:    eid.End.Add(validityGracePeriod), // What is this vs end?  should it be modified??
 			Ephemeral:   false,
 		}
 
@@ -211,6 +212,6 @@ func calculateTickerTime(baseIDs []ephemeral.ProtoIdentity, now time.Time) time.
 
 	// Factor out the grace period previously expanded upon
 	// Calculate and return that duration
-	gracePeriod := lastIdentity.End.Add(-2 * validityGracePeriod)
+	gracePeriod := lastIdentity.End.Add(-1 * validityGracePeriod)
 	return gracePeriod.Sub(now)
 }
diff --git a/network/ephemeral/tracker_test.go b/network/ephemeral/tracker_test.go
index 3307446bc17f25cbf8d8bc119e01a2889b1c2ae2..7e5cd8887eb719b4713363c6c19bbac64e545aea 100644
--- a/network/ephemeral/tracker_test.go
+++ b/network/ephemeral/tracker_test.go
@@ -17,6 +17,7 @@ import (
 	"gitlab.com/xx_network/comms/signature"
 	"gitlab.com/xx_network/crypto/signature/rsa"
 	"gitlab.com/xx_network/primitives/id"
+	"gitlab.com/xx_network/primitives/id/ephemeral"
 	"gitlab.com/xx_network/primitives/netTime"
 	"gitlab.com/xx_network/primitives/utils"
 	"testing"
@@ -122,3 +123,18 @@ func setupInstance(instance interfaces.NetworkManager) error {
 
 	return nil
 }
+
+func TestGenerateIdentities(t *testing.T) {
+	eid, s, e, err := ephemeral.GetId(id.NewIdFromString("zezima", id.Node, t), 16, time.Now().UnixNano())
+	if err != nil {
+		t.Errorf("Failed to get eid: %+v", err)
+	}
+	protoIds := []ephemeral.ProtoIdentity{{eid, s, e}}
+	generated := generateIdentities(protoIds, id.NewIdFromString("escaline", id.Node, t), 16)
+	if generated[0].End != protoIds[0].End.Add(5*time.Minute) {
+		t.Errorf("End was not modified.  Orig %+v, Generated %+v", protoIds[0].End, generated[0].End)
+	}
+	if generated[0].StartValid != protoIds[0].Start.Add(-5*time.Minute) {
+		t.Errorf("End was not modified.  Orig %+v, Generated %+v", protoIds[0].End, generated[0].End)
+	}
+}