diff --git a/docs/source/nnls_solving.rst b/docs/source/nnls_solving.rst
index d39ce95..96291f5 100644
--- a/docs/source/nnls_solving.rst
+++ b/docs/source/nnls_solving.rst
@@ -1282,7 +1282,12 @@
 
 .. member:: int Solver::Options::num_linear_solver_threads
 
-   Default: ``1``
+   Default: ``-1``
+
+   **This field is deprecated, and is ignored by
+   Ceres. Solver::Options::num_threads controls threading for all
+   of Ceres Solver. This setting is scheduled to be removed in
+   1.15.0.**
 
    Number of threads used by the linear solver.
 
@@ -2125,20 +2130,33 @@
 
    Number of threads actually used by the solver for Jacobian and
    residual evaluation. This number is not equal to
-   :member:`Solver::Summary::num_threads_given` if neither `OpenMP` nor `TBB`
-   is available.
+   :member:`Solver::Summary::num_threads_given` if none of `OpenMP`,
+   `TBB` or `CXX11_THREADS` is available.
 
 .. member:: int Solver::Summary::num_linear_solver_threads_given
 
+   **This field is deprecated, and is ignored by
+   Ceres. Solver::Summary::num_threads_given should be used
+   instead.
+
+   This field is scheduled to be removed in 1.15.0. In the interim the
+   value of this field will be num_threads_given.**
+
    Number of threads specified by the user for solving the trust
    region problem.
 
 .. member:: int Solver::Summary::num_linear_solver_threads_used
 
+   **This field is deprecated. Solver::Summary::num_threads_used
+   should be used instead.
+
+   This field is scheduled to be removed in 1.15.0. In the interim the
+   value of this field will be num_threads_used.**
+
    Number of threads actually used by the solver for solving the trust
    region problem. This number is not equal to
-   :member:`Solver::Summary::num_linear_solver_threads_given` if neither
-   `OpenMP` nor `TBB` is available.
+   :member:`Solver::Summary::num_linear_solver_threads_given` if none
+   of `OpenMP`, `TBB` or `CXX11_THREADS` is available.
 
 .. member:: LinearSolverType Solver::Summary::linear_solver_type_given
 
diff --git a/examples/bundle_adjuster.cc b/examples/bundle_adjuster.cc
index e21c4ee..319e385 100644
--- a/examples/bundle_adjuster.cc
+++ b/examples/bundle_adjuster.cc
@@ -140,7 +140,6 @@
   CHECK(StringToDenseLinearAlgebraLibraryType(
             FLAGS_dense_linear_algebra_library,
             &options->dense_linear_algebra_library_type));
-  options->num_linear_solver_threads = FLAGS_num_threads;
   options->use_explicit_schur_complement = FLAGS_explicit_schur_complement;
 }
 
diff --git a/include/ceres/solver.h b/include/ceres/solver.h
index 13f520b..ec0758f 100644
--- a/include/ceres/solver.h
+++ b/include/ceres/solver.h
@@ -118,7 +118,7 @@
   #endif
 #endif
 
-      num_linear_solver_threads = 1;
+      num_linear_solver_threads = -1;
       use_explicit_schur_complement = false;
       use_postordering = false;
       dynamic_sparsity = false;
@@ -425,9 +425,11 @@
     // whether they are linked into Ceres at build time.
     SparseLinearAlgebraLibraryType sparse_linear_algebra_library_type;
 
-    // Number of threads used by Ceres to solve the Newton
-    // step. Currently only the SPARSE_SCHUR solver is capable of
-    // using this setting.
+    // NOTE: This field is deprecated, and is ignored by
+    // Ceres. Solver::Options::num_threads controls threading for all
+    // of Ceres Solver.
+    //
+    // This setting is scheduled to be removed in 1.15.0.
     int num_linear_solver_threads;
 
     // The order in which variables are eliminated in a linear solver
@@ -932,10 +934,24 @@
     // num_threads_given if OpenMP is not available.
     int num_threads_used;
 
-    //  Number of threads specified by the user for solving the trust
+    // NOTE: This field is deprecated,
+    // Solver::Summary::num_threads_given should be used instead.
+    //
+    // This field is scheduled to be removed in 1.15.0. In the interim
+    // the value of this field will always be equal to
+    // num_threads_given.
+    //
+    // Number of threads specified by the user for solving the trust
     // region problem.
     int num_linear_solver_threads_given;
 
+    // NOTE: This field is deprecated,
+    // Solver::Summary::num_threads_used should be used instead.
+    //
+    // This field is scheduled to be removed in 1.15.0. In the interim
+    // the value of this field will always be equal to
+    // num_threads_used.
+    //
     // Number of threads actually used by the solver for solving the
     // trust region problem. This number is not equal to
     // num_threads_given if OpenMP is not available.
diff --git a/internal/ceres/preprocessor.cc b/internal/ceres/preprocessor.cc
index e9dc293..88d5398 100644
--- a/internal/ceres/preprocessor.cc
+++ b/internal/ceres/preprocessor.cc
@@ -56,6 +56,19 @@
 }
 
 void ChangeNumThreadsIfNeeded(Solver::Options* options) {
+  if (options->num_linear_solver_threads != -1 &&
+      options->num_threads != options->num_linear_solver_threads) {
+    LOG(WARNING) << "Solver::Options::num_threads = "
+                 << options->num_threads
+                 << " and Solver::Options::num_linear_solver_threads = "
+                 << options->num_linear_solver_threads
+                 << ". Solver::Options::num_linear_solver_threads is "
+                 << "deprecated and is ignored."
+                 << "Solver::Options::num_threads now controls threading "
+                 << "behaviour in all of Ceres Solver. "
+                 << "This field will go away in Ceres Solver 1.15.0.";
+  }
+
 #ifdef CERES_NO_THREADS
   if (options->num_threads > 1) {
     LOG(WARNING)
@@ -64,16 +77,6 @@
         << "to single threaded mode.";
     options->num_threads = 1;
   }
-
-  // Only the Trust Region solver currently uses a linear solver.
-  if (options->minimizer_type == TRUST_REGION &&
-      options->num_linear_solver_threads > 1) {
-    LOG(WARNING)
-        << "Neither OpenMP nor TBB support is compiled into this binary; "
-        << "only options.num_linear_solver_threads=1 is supported. Switching "
-        << "to single threaded mode.";
-    options->num_linear_solver_threads = 1;
-  }
 #endif  // CERES_NO_THREADS
 }
 
diff --git a/internal/ceres/solver.cc b/internal/ceres/solver.cc
index 5f047cb..016d841 100644
--- a/internal/ceres/solver.cc
+++ b/internal/ceres/solver.cc
@@ -96,7 +96,6 @@
   OPTION_GE(gradient_tolerance, 0.0);
   OPTION_GE(parameter_tolerance, 0.0);
   OPTION_GT(num_threads, 0);
-  OPTION_GT(num_linear_solver_threads, 0);
   if (options.check_gradients) {
     OPTION_GT(gradient_check_relative_precision, 0.0);
     OPTION_GT(gradient_check_numeric_derivative_relative_step_size, 0.0);
@@ -369,7 +368,7 @@
   summary->max_lbfgs_rank                     = options.max_lbfgs_rank;
   summary->minimizer_type                     = options.minimizer_type;
   summary->nonlinear_conjugate_gradient_type  = options.nonlinear_conjugate_gradient_type;  //  NOLINT
-  summary->num_linear_solver_threads_given    = options.num_linear_solver_threads;          //  NOLINT
+  summary->num_linear_solver_threads_given    = options.num_threads;
   summary->num_threads_given                  = options.num_threads;
   summary->preconditioner_type_given          = options.preconditioner_type;
   summary->sparse_linear_algebra_library_type = options.sparse_linear_algebra_library_type; //  NOLINT
@@ -386,9 +385,9 @@
 
   summary->inner_iterations_used          = pp.inner_iteration_minimizer.get() != NULL;     // NOLINT
   summary->linear_solver_type_used        = pp.linear_solver_options.type;
-  summary->num_linear_solver_threads_used = pp.options.num_linear_solver_threads;           // NOLINT
+  summary->num_linear_solver_threads_used = pp.options.num_threads;
   summary->num_threads_used               = pp.options.num_threads;
-  summary->preconditioner_type_used       = pp.options.preconditioner_type;                 // NOLINT
+  summary->preconditioner_type_used       = pp.options.preconditioner_type;
 
   internal::SetSummaryFinalCost(summary);
 
@@ -528,8 +527,7 @@
   PreSolveSummarize(options, problem_impl, summary);
 
   // The main thread also does work so we only need to launch num_threads - 1.
-  problem_impl->context()->EnsureMinimumThreads(
-      std::max(options.num_threads, options.num_linear_solver_threads) - 1);
+  problem_impl->context()->EnsureMinimumThreads(options.num_threads - 1);
 
   // Make sure that all the parameter blocks states are set to the
   // values provided by the user.
@@ -779,9 +777,6 @@
     }
     StringAppendF(&report, "Threads             % 25d% 25d\n",
                   num_threads_given, num_threads_used);
-    StringAppendF(&report, "Linear solver threads % 23d% 25d\n",
-                  num_linear_solver_threads_given,
-                  num_linear_solver_threads_used);
 
     string given;
     StringifyOrdering(linear_solver_ordering_given, &given);
diff --git a/internal/ceres/test_util.h b/internal/ceres/test_util.h
index 95ca389..f8bfa3a 100644
--- a/internal/ceres/test_util.h
+++ b/internal/ceres/test_util.h
@@ -102,8 +102,6 @@
         sparse_linear_algebra_library_type;
     options->preconditioner_type = preconditioner_type;
     options->num_threads = num_threads;
-    options->num_linear_solver_threads = num_threads;
-
     if (use_automatic_ordering) {
       options->linear_solver_ordering.reset();
     }
diff --git a/internal/ceres/trust_region_preprocessor.cc b/internal/ceres/trust_region_preprocessor.cc
index 803baef..4c20aac 100644
--- a/internal/ceres/trust_region_preprocessor.cc
+++ b/internal/ceres/trust_region_preprocessor.cc
@@ -193,7 +193,7 @@
   pp->linear_solver_options.use_explicit_schur_complement =
       options.use_explicit_schur_complement;
   pp->linear_solver_options.dynamic_sparsity = options.dynamic_sparsity;
-  pp->linear_solver_options.num_threads = options.num_linear_solver_threads;
+  pp->linear_solver_options.num_threads = options.num_threads;
   pp->linear_solver_options.use_postordering = options.use_postordering;
   pp->linear_solver_options.context = pp->problem->context();
 
