diff --git a/inc/qcbor/UsefulBuf.h b/inc/qcbor/UsefulBuf.h
index 14188c5..0a0d31c 100644
--- a/inc/qcbor/UsefulBuf.h
+++ b/inc/qcbor/UsefulBuf.h
@@ -43,6 +43,7 @@
 
  when         who             what, where, why
  --------     ----            --------------------------------------------------
+ 08/14/2024   llundblade      Add UsefulOutBuf_RetrieveOutputStorage().
  08/13/2024   llundblade      Add UsefulInputBuf_RetrieveUndecodedInput().
  08/08/2024   llundblade      Add UsefulOutBuf_SubString().
  10/05/2024   llundblade      Add Xxx_OffsetToPointer.
@@ -1400,6 +1401,21 @@
 
 
 /**
+ * @brief Retrieve the storage buffer passed in to UsefulOutBuf_Init().
+ *
+ * @param[in] pUOutBuf  The encoding context.
+ *
+ * @return The output storage buffer passed to UsefulOutBuf_Init().
+ *
+ * This doesn't give any information about how much has been encoded
+ * or the error state. It just returns the exact \ref UsefulOutBuf given
+ * to UsefulOutBuf_Init().
+ */
+static UsefulBuf UsefulOutBuf_RetrieveOutputStorage(UsefulOutBuf *pUOutBuf);
+
+
+
+/**
  * @ref UsefulInputBuf is the counterpart to @ref UsefulOutBuf. It is
  * for parsing data received.  Initialize it with the data from the
  * network. Then use the functions like UsefulInputBuf_GetBytes() to
@@ -2254,6 +2270,14 @@
 }
 
 
+static inline UsefulBuf UsefulOutBuf_RetrieveOutputStorage(UsefulOutBuf *pMe)
+{
+   return pMe->UB;
+}
+
+
+
+
 
 
 static inline void UsefulInputBuf_Init(UsefulInputBuf *pMe, UsefulBufC UB)
diff --git a/inc/qcbor/qcbor_encode.h b/inc/qcbor/qcbor_encode.h
index 169d338..d6757a8 100644
--- a/inc/qcbor/qcbor_encode.h
+++ b/inc/qcbor/qcbor_encode.h
@@ -2313,24 +2313,23 @@
  * for other too.
  *
  * Call this to get the offset of the start of the encoded
- * to-be-hashed CBOR items, then call
- * QCBOREncode_SubString(). QCBOREncode_Tell() can also be called
- * twice, first to get the offset of the start and second for the
- * offset of the end. Those offsets can be applied to the output
- * storage buffer.
+ * to-be-hashed CBOR items, then call QCBOREncode_SubString().
+ * QCBOREncode_Tell() can also be called twice, first to get the
+ * offset of the start and second for the offset of the end. Those
+ * offsets can be applied to the output storage buffer.
  *
  * This will return successfully even if the encoder is in the error
  * state.
  *
  * WARNING: All definite-length arrays and maps opened before the
- * first call QCBOREncode_Tell() must not be closed until the
+ * first call to QCBOREncode_Tell() must not be closed until the
  * substring is obtained and processed. Simiarly, every
  * definite-length array or map opened after the first call to
  * QCBOREncode_Tell() must be closed before the substring is obtained
- * and processed. There is no detection of these errors. This is
- * because QCBOR goes back and inserts the lengths of definite-length
- * arrays and maps when they are closed. This insertion will make the
- * offsets incorrect.
+ * and processed.  The same applies for opened bytte strings. There is
+ * no detection of these errors. This occurs because QCBOR goes back
+ * and inserts the lengths of definite-length arrays and maps when
+ * they are closed. This insertion will make the offsets incorrect.
  */
 static size_t
 QCBOREncode_Tell(QCBOREncodeContext *pCtx);
@@ -4104,7 +4103,7 @@
 static inline UsefulBuf
 QCBOREncode_RetrieveOutputStorage(QCBOREncodeContext *pMe)
 {
-   return pMe->OutBuf.UB;
+   return UsefulOutBuf_RetrieveOutputStorage(&(pMe->OutBuf));
 }
 
 
