diff --git a/dnn/lpcnet_demo.c b/dnn/lpcnet_demo.c
index 62d0ca2876c55dd897019b1376f9e7a377cad1e8..3dac10c4ed6a11f573463225149079bbfb5b0fd8 100644
--- a/dnn/lpcnet_demo.c
+++ b/dnn/lpcnet_demo.c
@@ -36,7 +36,6 @@
 #include "lpcnet.h"
 #include "freq.h"
 #include "os_support.h"
-#include "fwgan.h"
 #include "fargan.h"
 
 #ifdef USE_WEIGHTS_FILE
@@ -116,7 +115,6 @@ int main(int argc, char **argv) {
     if (argc < 4) usage();
     if (strcmp(argv[1], "-features") == 0) mode=MODE_FEATURES;
     else if (strcmp(argv[1], "-synthesis") == 0) mode=MODE_SYNTHESIS;
-    else if (strcmp(argv[1], "-fwgan-synthesis") == 0) mode=MODE_FWGAN_SYNTHESIS;
     else if (strcmp(argv[1], "-fargan-synthesis") == 0) mode=MODE_FARGAN_SYNTHESIS;
     else if (strcmp(argv[1], "-plc") == 0) {
         mode=MODE_PLC;
@@ -190,29 +188,6 @@ int main(int argc, char **argv) {
             fwrite(pcm, sizeof(pcm[0]), LPCNET_FRAME_SIZE, fout);
         }
         lpcnet_destroy(net);
-    } else if (mode == MODE_FWGAN_SYNTHESIS) {
-        FWGANState fwgan;
-        size_t ret;
-        float in_features[NB_TOTAL_FEATURES];
-        float zeros[320] = {0};
-        fwgan_init(&fwgan);
-#ifdef USE_WEIGHTS_FILE
-        fwgan_load_model(fwgan, data, len);
-#endif
-        ret = fread(in_features, sizeof(in_features[0]), NB_TOTAL_FEATURES, fin);
-        fwgan_cont(&fwgan, zeros, in_features);
-        while (1) {
-            int i;
-            float features[NB_FEATURES];
-            float fpcm[LPCNET_FRAME_SIZE];
-            opus_int16 pcm[LPCNET_FRAME_SIZE];
-            ret = fread(in_features, sizeof(features[0]), NB_TOTAL_FEATURES, fin);
-            if (feof(fin) || ret != NB_TOTAL_FEATURES) break;
-            OPUS_COPY(features, in_features, NB_FEATURES);
-            fwgan_synthesize(&fwgan, fpcm, features);
-            for (i=0;i<LPCNET_FRAME_SIZE;i++) pcm[i] = (int)floor(.5 + MIN32(32767, MAX32(-32767, 32768.f*fpcm[i])));
-            fwrite(pcm, sizeof(pcm[0]), LPCNET_FRAME_SIZE, fout);
-        }
     } else if (mode == MODE_FARGAN_SYNTHESIS) {
         FARGANState fargan;
         size_t ret, i;
diff --git a/lpcnet_headers.mk b/lpcnet_headers.mk
index c7ee0873874b34ba3c9123a8480d38f4f1ac3275..b699a33d3d888e112d769d8e0633902853ea595e 100644
--- a/lpcnet_headers.mk
+++ b/lpcnet_headers.mk
@@ -10,8 +10,6 @@ dnn/common.h \
 dnn/freq.h \
 dnn/fargan.h \
 dnn/fargan_data.h \
-dnn/fwgan.h \
-dnn/fwgan_data.h \
 dnn/kiss99.h \
 dnn/lpcnet_private.h \
 dnn/nnet_data.h \
diff --git a/lpcnet_sources.mk b/lpcnet_sources.mk
index 8f5d1758fd91a3ba9d4cb31177547f8904b6b8a0..6950be8c383f0cf39ee7825ed6d4b7923d1ae70b 100644
--- a/lpcnet_sources.mk
+++ b/lpcnet_sources.mk
@@ -3,8 +3,6 @@ dnn/burg.c \
 dnn/freq.c \
 dnn/fargan.c \
 dnn/fargan_data.c \
-dnn/fwgan.c \
-dnn/fwgan_data.c \
 dnn/kiss99.c \
 dnn/lpcnet.c \
 dnn/lpcnet_enc.c \