diff --git a/src/shared/proparser/profileevaluator.cpp b/src/shared/proparser/profileevaluator.cpp
index e2fe2087edd914d60eaf323ac32c4b0768ede3db..60b71aa8a59d628769400559ea1d315355416bf1 100644
--- a/src/shared/proparser/profileevaluator.cpp
+++ b/src/shared/proparser/profileevaluator.cpp
@@ -1447,11 +1447,8 @@ QStringList ProFileEvaluator::Private::evaluateExpandFunction(const QString &fun
                         ret += val;
             }
             break;
-#if 0 // Disabled, as it is relatively useless, too slow and dangerous.
         case E_SYSTEM:
-            if (!m_skipLevel) { // FIXME: should exec only if the result is being used
-                                // (i.e., if this is nested into an assignment) - these
-                                // are less likely to have side effects
+            if (!m_skipLevel) {
                 if (args.count() < 1 || args.count() > 2) {
                     q->logMessage(format("system(execute) requires one or two arguments."));
                 } else {
@@ -1476,7 +1473,6 @@ QStringList ProFileEvaluator::Private::evaluateExpandFunction(const QString &fun
                 }
             }
             break;
-#endif
         case E_UNIQUE:
             if(args.count() != 1) {
                 q->logMessage(format("unique(var) requires one argument."));