diff --git a/core/resource-container.lisp b/core/resource-container.lisp
index 0d5c5b9..cbc2891 100644
--- a/core/resource-container.lisp
+++ b/core/resource-container.lisp
@@ -60,7 +60,8 @@
(loop (when (endp ,resources) (return))
(let ((,var (pop ,resources)))
(declare (type resource ,var))
- ,@body)))))
+ (when ,var
+ ,@body))))))
(defmethod print-object ((rc resource-container) stream)
(print-unreadable-object (rc stream :type t :identity (not *print-pretty*))