diff --git a/NAMESPACE b/NAMESPACE
index 703e734f1cd65eb4cef4a3c888a1580c04936030..baf7650f05ee93b64308a15c25aa4e464adc91eb 100644
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -32,6 +32,7 @@ export(mortalityTable.trendProjection)
 export(mortalityTable.zeroes)
 export(mortalityTables.list)
 export(mortalityTables.load)
+export(pT.getSubTable)
 export(pensionTable)
 export(pensionTables.list)
 export(pensionTables.load)
diff --git a/R/utilityFunctions.R b/R/utilityFunctions.R
index bdfdd03c14cbdbe008e46f5abe7d27090daa4fc2..14831df5371804be304eb870be0d786cabec6c6c 100644
--- a/R/utilityFunctions.R
+++ b/R/utilityFunctions.R
@@ -284,3 +284,22 @@ mT.setDimInfo = function(table, ..., append = TRUE) {
     table
 }
 
+
+#' @export
+pT.getSubTable = function(table, subtable = "qx") {
+    if (is.array(table)) {
+        return(array(
+            lapply(table, pT.getSubTable, subtable = subtable),
+            dim = dim(table), dimnames = dimnames(table))
+        )
+    } else if (is.list(table)) {
+        return(lapply(table, pT.getSubTable, subtable = subtable))
+    }
+    if (!is(table, "pensionTable"))
+        stop("First argument must be a pensionTable or a list of pensionTable objects.")
+
+    if (.hasSlot(table, subtable))
+        slot(table, subtable)
+    else
+        NULL
+}