diff --git a/modules/skottie/src/Skottie.cpp b/modules/skottie/src/Skottie.cpp
index e4223cc..3faca99 100644
--- a/modules/skottie/src/Skottie.cpp
+++ b/modules/skottie/src/Skottie.cpp
@@ -10,7 +10,6 @@
 #include "SkCanvas.h"
 #include "SkData.h"
 #include "SkFontMgr.h"
-#include "SkImage.h"
 #include "SkMakeUnique.h"
 #include "SkOSPath.h"
 #include "SkPaint.h"
@@ -247,23 +246,7 @@
 }
 
 sk_sp<ImageAsset> ResourceProvider::loadImageAsset(const char path[], const char name[]) const {
-    // Legacy API fallback.  TODO: remove after clients get updated.
-    class StaticImageAsset final : public ImageAsset {
-    public:
-        explicit StaticImageAsset(sk_sp<SkImage> img) : fImage(std::move(img)) {}
-
-        bool isMultiFrame() override { return false; }
-
-        sk_sp<SkImage> getFrame(float) override { return fImage; }
-
-    private:
-        sk_sp<SkImage> fImage;
-    };
-
-    auto image = SkImage::MakeFromEncoded(this->load(path, name));
-
-    return image ? sk_make_sp<StaticImageAsset>(std::move(image))
-                 : nullptr;
+    return nullptr;
 }
 
 sk_sp<SkData> ResourceProvider::loadFont(const char[], const char[]) const {
