diff --git a/packages/gatsby-image/src/index.js b/packages/gatsby-image/src/index.js
index 5cbb09e7a72c8..8621fbfe83fb6 100644
--- a/packages/gatsby-image/src/index.js
+++ b/packages/gatsby-image/src/index.js
@@ -262,14 +262,12 @@ const noscriptImg = props => {
// Earlier versions of gatsby-image during the 2.x cycle did not wrap
// the `Img` component in a `picture` element. This maintains compatibility
// until a breaking change can be introduced in the next major release
-const Placeholder = ({
- src,
- imageVariants,
- generateSources,
- spreadProps,
- ariaHidden,
-}) => {
- const baseImage =
+const Placeholder = React.forwardRef((props, ref) => {
+ const { src, imageVariants, generateSources, spreadProps, ariaHidden } = props
+
+ const baseImage = (
+
+ )
return imageVariants.length > 1 ? (