diff --git a/stackit/internal/services/vpn/gateway/resource.go b/stackit/internal/services/vpn/gateway/resource.go index d177e541d..a3e9c69d6 100644 --- a/stackit/internal/services/vpn/gateway/resource.go +++ b/stackit/internal/services/vpn/gateway/resource.go @@ -705,6 +705,9 @@ func mapFields(ctx context.Context, gateway *vpn.GatewayResponse, model *Model, if gateway.NetworkConfig == nil { model.NetworkConfig = types.ObjectNull(networkConfigTypes) + } else if tfutils.IsUndefined(model.NetworkConfig) && gateway.NetworkConfig.PredefinedNetworkPrefix == nil && gateway.NetworkConfig.RoutingTableId == nil { + // If the current model is Null and the API returns an empty Object, it should not be replaced to prevent a state drift + model.NetworkConfig = types.ObjectNull(networkConfigTypes) } else { predefinedNetworkPrefix := types.StringPointerValue(gateway.NetworkConfig.PredefinedNetworkPrefix)