diff --git a/examples/bundle_adjuster.cc b/examples/bundle_adjuster.cc
index 68458a0..f5c1ac1 100644
--- a/examples/bundle_adjuster.cc
+++ b/examples/bundle_adjuster.cc
@@ -273,27 +273,6 @@
   SetOrdering(bal_problem, options);
 }
 
-// Uniform random numbers between 0 and 1.
-double UniformRandom() {
-  return static_cast<double>(random()) / static_cast<double>(RAND_MAX);
-}
-
-// Normal random numbers using the Box-Mueller algorithm. Its a bit
-// wasteful, as it generates two but only returns one.
-double RandNormal() {
-  double x1, x2, w, y1, y2;
-  do {
-    x1 = 2.0 * UniformRandom() - 1.0;
-    x2 = 2.0 * UniformRandom() - 1.0;
-    w = x1 * x1 + x2 * x2;
-  } while ( w >= 1.0 );
-
-  w = sqrt((-2.0 * log(w)) / w);
-  y1 = x1 * w;
-  y2 = x2 * w;
-  return y1;
-}
-
 void BuildProblem(BALProblem* bal_problem, Problem* problem) {
   const int point_block_size = bal_problem->point_block_size();
   const int camera_block_size = bal_problem->camera_block_size();
diff --git a/internal/ceres/random.h b/internal/ceres/random.h
index cd7a0ea..352c003 100644
--- a/internal/ceres/random.h
+++ b/internal/ceres/random.h
@@ -34,19 +34,20 @@
 
 #include <cmath>
 #include <cstdlib>
+#include "ceres/internal/port.h"
 
 namespace ceres {
 
 inline void SetRandomState(int state) {
-  srandom(state);
+  srand(state);
 }
 
 inline int Uniform(int n) {
-  return random() % n;
+  return rand() % n;
 }
 
 inline double RandDouble() {
-  double r = static_cast<double>(random());
+  double r = static_cast<double>(rand());
   return r / RAND_MAX;
 }
 
