diff --git a/examples/c/decode/file/main.c b/examples/c/decode/file/main.c
index 4183a5f..ff2b145 100644
--- a/examples/c/decode/file/main.c
+++ b/examples/c/decode/file/main.c
@@ -22,7 +22,7 @@
  * file.  It only supports 16-bit stereo files.
  *
  * Complete API documentation can be found at:
- *   http://flac.sourceforge.net/api/
+ *   http://xiph.org/flac/api/
  */
 
 #ifdef HAVE_CONFIG_H
diff --git a/examples/c/encode/file/main.c b/examples/c/encode/file/main.c
index 20d920d..e3bdea8 100644
--- a/examples/c/encode/file/main.c
+++ b/examples/c/encode/file/main.c
@@ -22,7 +22,7 @@
  * file.  It only supports 16-bit stereo files in canonical WAVE format.
  *
  * Complete API documentation can be found at:
- *   http://flac.sourceforge.net/api/
+ *   http://xiph.org/flac/api/
  */
 
 #ifdef HAVE_CONFIG_H
diff --git a/examples/cpp/decode/file/main.cpp b/examples/cpp/decode/file/main.cpp
index 35042d3..9e69708 100644
--- a/examples/cpp/decode/file/main.cpp
+++ b/examples/cpp/decode/file/main.cpp
@@ -22,7 +22,7 @@
  * file.  It only supports 16-bit stereo files.
  *
  * Complete API documentation can be found at:
- *   http://flac.sourceforge.net/api/
+ *   http://xiph.org/flac/api/
  */
 
 #ifdef HAVE_CONFIG_H
diff --git a/examples/cpp/encode/file/main.cpp b/examples/cpp/encode/file/main.cpp
index 9344aab..b2cf3da 100644
--- a/examples/cpp/encode/file/main.cpp
+++ b/examples/cpp/encode/file/main.cpp
@@ -22,7 +22,7 @@
  * file.  It only supports 16-bit stereo files in canonical WAVE format.
  *
  * Complete API documentation can be found at:
- *   http://flac.sourceforge.net/api/
+ *   http://xiph.org/flac/api/
  */
 
 #ifdef HAVE_CONFIG_H
diff --git a/include/FLAC/metadata.h b/include/FLAC/metadata.h
index fcc8ed9..a8b43dd 100644
--- a/include/FLAC/metadata.h
+++ b/include/FLAC/metadata.h
@@ -500,7 +500,7 @@ FLAC_API FLAC__MetadataType FLAC__metadata_simple_iterator_get_block_type(const
  * \retval unsigned
  *    The length of the metadata block at the current iterator position.
  *    The is same length as that in the
- *    <a href="http://flac.sourceforge.net/format.html#metadata_block_header">metadata block header</a>,
+ *    <a href="http://xiph.org/flac/format.html#metadata_block_header">metadata block header</a>,
  *    i.e. the length of the metadata body that follows the header.
  */
 FLAC_API unsigned FLAC__metadata_simple_iterator_get_block_length(const FLAC__Metadata_SimpleIterator *iterator);
diff --git a/include/share/getopt.h b/include/share/getopt.h
index 3e382d3..66aced0 100644
--- a/include/share/getopt.h
+++ b/include/share/getopt.h
@@ -6,7 +6,7 @@
 	of code with the ELIDE_CODE #define is not accurate enough on systems
 	that are POSIX but not glibc.  If someone has a patch that works on
 	GNU/Linux, Darwin, AND Solaris please submit it on the project page:
-		http://sourceforge.net/projects/flac
+		https://sourceforge.net/p/flac/patches/
 
 	In the meantime I have munged the global symbols and removed gates
 	around code, while at the same time trying to touch the original as
diff --git a/src/flac/decode.c b/src/flac/decode.c
index 771c36b..d48573a 100644
--- a/src/flac/decode.c
+++ b/src/flac/decode.c
@@ -1418,7 +1418,7 @@ void print_error_with_state(const DecoderSession *d, const char *message)
 			"not able to decode the file.  If the version number is not, the file\n"
 			"may be corrupted, or you may have found a bug.  In this case please\n"
 			"submit a bug report to\n"
-			"    http://sourceforge.net/bugs/?func=addbug&group_id=13478\n"
+			"    https://sourceforge.net/p/flac/bugs/\n"
 			"Make sure to use the \"Monitor\" feature to monitor the bug status.\n",
 			d->inbasefilename, FLAC__VERSION_STRING
 		);
diff --git a/src/flac/encode.c b/src/flac/encode.c
index 4b105ca..10357b4 100644
--- a/src/flac/encode.c
+++ b/src/flac/encode.c
@@ -2691,7 +2691,7 @@ void print_error_with_init_status(const EncoderSession *e, const char *message,
 			"The encoding parameters specified do not conform to the FLAC Subset and may not\n"
 			"be streamable or playable in hardware devices.  If you really understand the\n"
 			"consequences, you can add --lax to the command-line options to encode with\n"
-			"these parameters anyway.  See http://flac.sourceforge.net/format.html#subset\n"
+			"these parameters anyway.  See http://xiph.org/flac/format.html#subset\n"
 		);
 	}
 }
@@ -2734,10 +2734,10 @@ void print_verify_error(EncoderSession *e)
 	flac__utils_printf(stderr, 1, "       and repeat the flac command exactly as before.  If it does not give a\n");
 	flac__utils_printf(stderr, 1, "       verify error in the exact same place each time you try it, then there is\n");
 	flac__utils_printf(stderr, 1, "       a problem with your hardware; please see the FAQ:\n");
-	flac__utils_printf(stderr, 1, "           http://flac.sourceforge.net/faq.html#tools__hardware_prob\n");
+	flac__utils_printf(stderr, 1, "           http://xiph.org/flac/faq.html#tools__hardware_prob\n");
 	flac__utils_printf(stderr, 1, "       If it does fail in the exact same place every time, keep\n");
 	flac__utils_printf(stderr, 1, "       %s and submit a bug report to:\n", e->outfilename);
-	flac__utils_printf(stderr, 1, "           https://sourceforge.net/bugs/?func=addbug&group_id=13478\n");
+	flac__utils_printf(stderr, 1, "           https://sourceforge.net/p/flac/bugs/\n");
 	flac__utils_printf(stderr, 1, "       Make sure to upload the FLAC file and use the \"Monitor\" feature to\n");
 	flac__utils_printf(stderr, 1, "       monitor the bug status.\n");
 	flac__utils_printf(stderr, 1, "Verify FAILED!  Do not trust %s\n", e->outfilename);
diff --git a/src/flac/main.c b/src/flac/main.c
index e4df26e..e5d50b5 100644
--- a/src/flac/main.c
+++ b/src/flac/main.c
@@ -1191,7 +1191,7 @@ static void usage_summary(void)
 	printf("Analyzing: flac -a [<general-options>] [<analysis-options>] [FLACFILE [...]]\n");
 	printf("\n");
 	printf("Be sure to read the list of known bugs at:\n");
-	printf("http://flac.sourceforge.net/documentation_bugs.html\n");
+	printf("http://xiph.org/flac/documentation_bugs.html\n");
 	printf("\n");
 }
 
@@ -1203,7 +1203,7 @@ void short_usage(void)
 	printf("instructions use 'flac --explain'\n");
 	printf("\n");
 	printf("Be sure to read the list of known bugs at:\n");
-	printf("http://flac.sourceforge.net/documentation_bugs.html\n");
+	printf("http://xiph.org/flac/documentation_bugs.html\n");
 	printf("\n");
 	printf("To encode:\n");
 	printf("  flac [-#] [INPUTFILE [...]]\n");
diff --git a/src/libFLAC/lpc.c b/src/libFLAC/lpc.c
index 0c795ba..a4aaced 100644
--- a/src/libFLAC/lpc.c
+++ b/src/libFLAC/lpc.c
@@ -156,7 +156,7 @@ void FLAC__lpc_compute_lp_coefficients(const FLAC__real autoc[], unsigned *max_o
 			lp_coeff[i][j] = (FLAC__real)(-lpc[j]); /* negate FIR filter coeff to get predictor coeff */
 		error[i] = err;
 
-		/* see SF bug #1601812 http://sourceforge.net/tracker/index.php?func=detail&aid=1601812&group_id=13478&atid=113478 */
+		/* see SF bug https://sourceforge.net/p/flac/bugs/234/ */
 		if(err == 0.0) {
 			*max_order = i+1;
 			return;
diff --git a/src/plugin_xmms/configure.c b/src/plugin_xmms/configure.c
index 3dfddc4..58af3d3 100644
--- a/src/plugin_xmms/configure.c
+++ b/src/plugin_xmms/configure.c
@@ -800,7 +800,7 @@ void FLAC_XMMS__aboutbox(void)
 		  "......\n"
 		  "and\n"
 		  "Daisuke Shimamura\n"
-		  "Visit http://flac.sourceforge.net/"),
+		  "Visit http://xiph.org/flac/"),
 		_("Ok"), FALSE, NULL, NULL);
 	gtk_signal_connect(GTK_OBJECT(about_window), "destroy",
 			   GTK_SIGNAL_FUNC(gtk_widget_destroyed),
diff --git a/src/share/getopt/getopt.c b/src/share/getopt/getopt.c
index adcfc4c..e8a13aa 100644
--- a/src/share/getopt/getopt.c
+++ b/src/share/getopt/getopt.c
@@ -6,7 +6,7 @@
 	of code with the ELIDE_CODE #define is not accurate enough on systems
 	that are POSIX but not glibc.  If someone has a patch that works on
 	GNU/Linux, Darwin, AND Solaris please submit it on the project page:
-		http://sourceforge.net/projects/flac
+		https://sourceforge.net/p/flac/patches/
 
 	In the meantime I have munged the global symbols and removed gates
 	around code, while at the same time trying to touch the original as
diff --git a/src/share/getopt/getopt1.c b/src/share/getopt/getopt1.c
index 1263598..740e498 100644
--- a/src/share/getopt/getopt1.c
+++ b/src/share/getopt/getopt1.c
@@ -6,7 +6,7 @@
 	of code with the ELIDE_CODE #define is not accurate enough on systems
 	that are POSIX but not glibc.  If someone has a patch that works on
 	GNU/Linux, Darwin, AND Solaris please submit it on the project page:
-		http://sourceforge.net/projects/flac
+		https://sourceforge.net/p/flac/patches/
 
 	In the meantime I have munged the global symbols and removed gates
 	around code, while at the same time trying to touch the original as
