diff --git a/plugins/woocommerce-admin/client/marketplace/components/my-subscriptions/table/rows/functions.tsx b/plugins/woocommerce-admin/client/marketplace/components/my-subscriptions/table/rows/functions.tsx
index 0a565cd88f5..b591b860066 100644
--- a/plugins/woocommerce-admin/client/marketplace/components/my-subscriptions/table/rows/functions.tsx
+++ b/plugins/woocommerce-admin/client/marketplace/components/my-subscriptions/table/rows/functions.tsx
@@ -355,9 +355,16 @@ export function subscriptionStatus(
);
}
- return subscription.autorenew
- ? __( 'Active', 'woocommerce' )
- : __( 'Cancelled', 'woocommerce' );
+ let status;
+ if ( subscription.lifetime ) {
+ status = __( 'Lifetime', 'woocommerce' );
+ } else if ( subscription.autorenew ) {
+ status = __( 'Active', 'woocommerce' );
+ } else {
+ status = __( 'Cancelled', 'woocommerce' );
+ }
+
+ return status;
}
return {
display: getStatus(),
@@ -377,7 +384,7 @@ export function actions( subscription: Subscription ): TableRow {
let actionButton = null;
if ( subscription.product_key === '' ) {
actionButton = ;
- } else if ( subscription.expired ) {
+ } else if ( subscription.expired && ! subscription.lifetime ) {
actionButton = ;
} else if (
subscription.local.installed === false &&
@@ -391,7 +398,7 @@ export function actions( subscription: Subscription ): TableRow {
actionButton = (
);
- } else if ( ! subscription.autorenew ) {
+ } else if ( ! subscription.autorenew && ! subscription.lifetime ) {
actionButton = ;
}
diff --git a/plugins/woocommerce/changelog/fix-wccom-21789-free-subs-display b/plugins/woocommerce/changelog/fix-wccom-21789-free-subs-display
new file mode 100644
index 00000000000..8f2c2642e93
--- /dev/null
+++ b/plugins/woocommerce/changelog/fix-wccom-21789-free-subs-display
@@ -0,0 +1,4 @@
+Significance: patch
+Type: fix
+
+Fix subscription status and action items for free (lifetime) subscriptions