Error taking screenshot when using --session-override flag

I need to use --session-override flag as I have more than 100 tests otherwise I had port unavailable issue. After adding this flag I’m getting this error:

    [debug] [35m[W3C] [39m Matched W3C error code 'no such element' to NoSuchElementError
    [debug] [35m[W3C (5e3fa756)] [39m Encountered internal error running command: NoSuchElementError: An element could not be located on the page using the given search parameters.
    [debug] [35m[W3C (5e3fa756)] [39m     at AndroidUiautomator2Driver.findElOrEls (/Users/username/.nvm/versions/node/v12.16.3/lib/node_modules/appium/node_modules/appium-android-driver/lib/commands/find.js:75:11)
    [debug] [35m[W3C (5e3fa756)] [39m     at process._tickCallback (internal/process/next_tick.js:68:7)
    [35m[HTTP] [39m [37m<-- POST /wd/hub/session/5e3fa756-3a69-4268-89a8-bae2c39d92df/element [39m [33m404 [39m [90m10509 ms - 492 [39m
    [35m[HTTP] [39m [90m [39m
    [35m[HTTP] [39m [37m--> [39m [37mGET [39m [37m/wd/hub/session/318235ed-3946-47ea-830d-4fa37403fd94/screenshot [39m
    [35m[HTTP] [39m [90m{} [39m
    [debug] [35m[W3C (318235ed)] [39m Encountered internal error running command: NoSuchDriverError: A session is either terminated or not started
    [debug] [35m[W3C (318235ed)] [39m     at asyncHandler (/Users/username/.nvm/versions/node/v12.16.3/lib/node_modules/appium/node_modules/appium-base-driver/lib/protocol/protocol.js:243:15)
    [debug] [35m[W3C (318235ed)] [39m     at app.(anonymous function) (/Users/username/.nvm/versions/node/v12.16.3/lib/node_modules/appium/node_modules/appium-base-driver/lib/protocol/protocol.js:436:15)
    [debug] [35m[W3C (318235ed)] [39m     at Layer.handle [as handle_request] (/Users/username/.nvm/versions/node/v12.16.3/lib/node_modules/appium/node_modules/express/lib/router/layer.js:95:5)
    [debug] [35m[W3C (318235ed)] [39m     at next (/Users/username/.nvm/versions/node/v12.16.3/lib/node_modules/appium/node_modules/express/lib/router/route.js:137:13)
    [debug] [35m[W3C (318235ed)] [39m     at Route.dispatch (/Users/username/.nvm/versions/node/v12.16.3/lib/node_modules/appium/node_modules/express/lib/router/route.js:112:3)
    [debug] [35m[W3C (318235ed)] [39m     at Layer.handle [as handle_request] (/Users/username/.nvm/versions/node/v12.16.3/lib/node_modules/appium/node_modules/express/lib/router/layer.js:95:5)
    [debug] [35m[W3C (318235ed)] [39m     at /Users/username/.nvm/versions/node/v12.16.3/lib/node_modules/appium/node_modules/express/lib/router/index.js:281:22
    [debug] [35m[W3C (318235ed)] [39m     at param (/Users/username/.nvm/versions/node/v12.16.3/lib/node_modules/appium/node_modules/express/lib/router/index.js:354:14)
    [debug] [35m[W3C (318235ed)] [39m     at param (/Users/username/.nvm/versions/node/v12.16.3/lib/node_modules/appium/node_modules/express/lib/router/index.js:365:14)
    [debug] [35m[W3C (318235ed)] [39m     at Function.process_params (/Users/username/.nvm/versions/node/v12.16.3/lib/node_modules/appium/node_modules/express/lib/router/index.js:410:3)
    [debug] [35m[W3C (318235ed)] [39m     at next (/Users/username/.nvm/versions/node/v12.16.3/lib/node_modules/appium/node_modules/express/lib/router/index.js:275:10)
    [debug] [35m[W3C (318235ed)] [39m     at logger (/Users/username/.nvm/versions/node/v12.16.3/lib/node_modules/appium/node_modules/morgan/index.js:144:5)
    [debug] [35m[W3C (318235ed)] [39m     at Layer.handle [as handle_request] (/Users/username/.nvm/versions/node/v12.16.3/lib/node_modules/appium/node_modules/express/lib/router/layer.js:95:5)
    [debug] [35m[W3C (318235ed)] [39m     at trim_prefix (/Users/username/.nvm/versions/node/v12.16.3/lib/node_modules/appium/node_modules/express/lib/router/index.js:317:13)
    [debug] [35m[W3C (318235ed)] [39m     at /Users/username/.nvm/versions/node/v12.16.3/lib/node_modules/appium/node_modules/express/lib/router/index.js:284:7
    [debug] [35m[W3C (318235ed)] [39m     at Function.process_params (/Users/username/.nvm/versions/node/v12.16.3/lib/node_modules/appium/node_modules/express/lib/router/index.js:335:12)
    [debug] [35m[W3C (318235ed)] [39m Destroying socket connection
    [35m[HTTP] [39m [37m<-- GET /wd/hub/session/318235ed-3946-47ea-830d-4fa37403fd94/screenshot [39m [33m404 [39m [90m17 ms - 2521 [39m
    [35m[HTTP] [39m [90m [39m
    [35m[HTTP] [39m [37m--> [39m [37mPOST [39m [37m/wd/hub/session/5e3fa756-3a69-4268-89a8-bae2c39d92df/appium/device/remove_app [39m

Here is my code which creates HTML report along with screenshot which is in my conftest.py:

@pytest.mark.hookwrapper
def pytest_runtest_makereport(item):
    pytest_html = item.config.pluginmanager.getplugin('html')
    outcome = yield
    report = outcome.get_result()
    extra = getattr(report, 'extra', [])

    if report.when == 'call' or report.when == 'setup':
        xfail = hasattr(report, 'wasxfail')
        if (report.skipped and xfail) or (report.failed and not xfail):
            screenshot = driver.get_screenshot_as_base64()
            extra.append(pytest_html.extras.image(screenshot, ''))
        report.extra = extra

Just to verify, I removed the --session-override flag and ran my test and it was able to take screenshot without any internal error as above. How do I fix the above error with flag?