diff --git a/src/Examples/LoggerExample.cpp b/src/Examples/LoggerExample.cpp
index cb4e3dc4a8548cb05eda84943e297e09b310e5e9..5b8ed51c8645cd4c559712a944b5476d4fe10d39 100644
--- a/src/Examples/LoggerExample.cpp
+++ b/src/Examples/LoggerExample.cpp
@@ -1,6 +1,5 @@
 #include <iostream>
 #include <TNL/Logger.h>
-#include <TNL/Config/ParameterContainer.h>
 
 using namespace TNL;
 using namespace std;
@@ -9,15 +8,11 @@ int main()
 {
     Logger logger(50,cout);
     
-    Config::ParameterContainer parameters;
-    logger.writeSystemInformation(parameters);
+    logger.writeSystemInformation( false );
 
     logger.writeHeader("MyTitle");
-    parameters.template addParameter< String >( "Device:", "cuda" );
-    parameters.template addParameter< String >( "Real type:", "double" );
-    parameters.template addParameter< String >( "Index type:", "int" );
     logger.writeSeparator();
-    logger.writeSystemInformation(parameters);
+    logger.writeSystemInformation( true );
     logger.writeSeparator();
 }
 
diff --git a/src/TNL/Logger.h b/src/TNL/Logger.h
index efcbbb3b5a1db18df8ae59827d30d13185d39188..383e084a360fdf5841fc220cef02e38d72949e94 100644
--- a/src/TNL/Logger.h
+++ b/src/TNL/Logger.h
@@ -43,8 +43,8 @@ public:
 
    /// \brief Inserts information about various system parameters into the log.
    ///
-   /// \param parameters A container with configuration parameters.
-   bool writeSystemInformation( const Config::ParameterContainer& parameters );
+   /// \param printGPUInfo When \e true, prints information about available GPUs.
+   bool writeSystemInformation( bool printGPUInfo = false );
 
    /////
    /// \brief Inserts a line with current time into the log.
diff --git a/src/TNL/Logger_impl.h b/src/TNL/Logger_impl.h
index d419f31b8b2f926ac6d547635a66ba9814fab34b..148052468bae58fe9f02da13f1cfadd0b5c635c6 100644
--- a/src/TNL/Logger_impl.h
+++ b/src/TNL/Logger_impl.h
@@ -42,7 +42,7 @@ Logger::writeSeparator()
 }
 
 inline bool
-Logger::writeSystemInformation( const Config::ParameterContainer& parameters )
+Logger::writeSystemInformation( bool printGPUInfo )
 {
 // compiler detection macros:
 // http://nadeausoftware.com/articles/2012/10/c_c_tip_how_detect_compiler_name_and_version_using_compiler_predefined_macros
@@ -88,7 +88,7 @@ Logger::writeSystemInformation( const Config::ParameterContainer& parameters )
                           + convertToString( cacheSizes.L3 );
    writeParameter< String >( "Cache (L1d, L1i, L2, L3):", cacheInfo, 1 );
 
-   if( parameters.getParameter< String >( "device" ) == "cuda" ) {
+   if( printGPUInfo ) {
       writeParameter< String >( "CUDA GPU info", "" );
       // TODO: Printing all devices does not make sense until TNL can actually
       //       use more than one device for computations. Printing only the active
@@ -129,15 +129,7 @@ Logger::writeParameter( const String& label,
                         const Config::ParameterContainer& parameters,
                         int parameterLevel )
 {
-   stream << "| ";
-   int i;
-   for( i = 0; i < parameterLevel; i ++ )
-      stream << " ";
-   std::stringstream str;
-   str << parameters.getParameter< T >( parameterName );
-   stream << label
-          << std::setw( width - label.getLength() - parameterLevel - 3 )
-          << str.str() << " |" << std::endl;
+   writeParameter( label, parameters.getParameter< T >( parameterName ), parameterLevel );
 }
 
 template< typename T >
@@ -148,7 +140,7 @@ Logger::writeParameter( const String& label,
 {
    stream << "| ";
    int i;
-   for( i = 0; i < parameterLevel; i ++ )
+   for( i = 0; i < parameterLevel; i++ )
       stream << " ";
    std::stringstream str;
    str << value;
diff --git a/src/TNL/Solvers/PDE/PDESolver_impl.h b/src/TNL/Solvers/PDE/PDESolver_impl.h
index d8e4d66f6937a178acce890a05c43d085f659335..37ade9f38e74427903b1c624a383544179839bed 100644
--- a/src/TNL/Solvers/PDE/PDESolver_impl.h
+++ b/src/TNL/Solvers/PDE/PDESolver_impl.h
@@ -86,7 +86,8 @@ writeProlog( Logger& logger,
    }
    Communicator::writeProlog( logger );
    logger.writeSeparator();
-   logger.writeSystemInformation( parameters );
+   const bool printGPUs = parameters.getParameter< String >( "device" ) == "cuda";
+   logger.writeSystemInformation( printGPUs );
    logger.writeSeparator();
    logger.writeCurrentTime( "Started at:" );
    logger.writeSeparator();